home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PROGEDIT / 1435B.ZIP / JOVE.DOC < prev    next >
Text File  |  1988-02-26  |  211KB  |  5,017 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                    JOVE Manual for UNIX Users
  8.  
  9.                          _J_o_n_a_t_h_a_n _P_a_y_n_e
  10.       (_r_e_v_i_s_e_d _f_o_r _4._3_B_S_D _b_y _D_o_u_g _K_i_n_g_s_t_o_n _a_n_d _M_a_r_k _S_e_i_d_e_n)
  11.  
  12.  
  13. _1.  _I_n_t_r_o_d_u_c_t_i_o_n
  14.  
  15. JOVE* is an advanced,  self-documenting,  customizable  real-time
  16. display editor.  It (and this tutorial introduction) are based on
  17. the original EMACS editor and user manual written  at  M.I.T.  by
  18. Richard Stallman+.
  19.  
  20. JOVE is considered a _d_i_s_p_l_a_y editor  because  normally  the  text
  21. being  edited  is  visible on the screen and is updated automati-
  22. cally as you type your commands.
  23.  
  24. It's considered a _r_e_a_l-_t_i_m_e editor because the display is updated
  25. very  frequently, usually after each character or pair of charac-
  26. ters you type.  This minimizes the amount of information you must
  27. keep in your head as you edit.
  28.  
  29. JOVE is _a_d_v_a_n_c_e_d because it provides facilities  that  go  beyond
  30. simple  insertion and deletion: filling of text; automatic inden-
  31. tations of programs; view more than one file at once; and dealing
  32. in  terms  of characters, words, lines, sentences and paragraphs.
  33. It is much easier to type one command meaning "go to the  end  of
  34. the  paragraph"  than to find the desired spot with repetition of
  35. simpler commands.
  36.  
  37. _S_e_l_f-_d_o_c_u_m_e_n_t_i_n_g means that at almost any  time  you  can  easily
  38. find  out  what  a command does, or to find all the commands that
  39. pertain to a topic.
  40.  
  41. _C_u_s_t_o_m_i_z_a_b_l_e means that you can change  the  definition  of  JOVE
  42. commands in little ways.  For example, you can rearrange the com-
  43. mand set; if you prefer to use arrow keys for the four basic cur-
  44. sor motion commands (up, down, left and right), you can.  Another
  45. sort of customization is writing new commands by combining  built
  46. in commands.
  47.  
  48. _2.  _T_h_e _O_r_g_a_n_i_z_a_t_i_o_n _o_f _t_h_e _S_c_r_e_e_n
  49.  
  50. JOVE divides the screen up into several sections.  The biggest of
  51. these  sections is used to display the text you are editing.  The
  52. terminal's cursor shows the position of _p_o_i_n_t,  the  location  at
  53. _________________________
  54. *JOVE stands for Jonathan's Own Version of Emacs.
  55. +Although  JOVE  is  meant to be compatible with EMACS,
  56. and indeed many of the basic commands are very similar,
  57. there  are  some major differences between the two edi-
  58. tors, and you should not rely on their behaving identi-
  59. cally.
  60.  
  61.  
  62.  
  63.  
  64.                         February 24, 1988
  65.  
  66.  
  67.  
  68.  
  69.  
  70. USD:17-2                               JOVE Manual for UNIX Users
  71.  
  72.  
  73. which editing takes place.  While the cursor appears to point  _a_t
  74. a character, point should be thought of as between characters; it
  75. points _b_e_f_o_r_e the character that the cursor appears  on  top  of.
  76. Terminals have only one cursor, and when output is in progress it
  77. must appear where the typing is being done.   This  doesn't  mean
  78. that  point is moving; it is only that JOVE has no way of showing
  79. you the location of point except when the terminal is idle.
  80.  
  81. The lines of the screen are usually available for displaying text
  82. but  sometimes  are  pre-empted  by typeout from certain commands
  83. (such as a listing of all the  editor  commands).   Most  of  the
  84. time, output from commands like these is only desired for a short
  85. period of time, usually just long enough to glance at  it.   When
  86. you  have  finished  looking at the output, you can type Space to
  87. make your text reappear.  (Usually a Space that you type  inserts
  88. itself,  but when there is typeout on the screen, it does nothing
  89. but get rid of that).  Any other command executes normally, _a_f_t_e_r
  90. redrawing your text.
  91.  
  92. _2._1.  _T_h_e _M_e_s_s_a_g_e _L_i_n_e
  93.  
  94. The bottom line on  the  screen,  called  the  _m_e_s_s_a_g_e  _l_i_n_e,  is
  95. reserved  for  printing messages and for accepting input from the
  96. user, such as filenames or search strings.  When JOVE prompts for
  97. input,  the  cursor  will  temporarily appear on the bottom line,
  98. waiting for you to type a string.  When you have finished  typing
  99. your  input,  you  can  type a Return to send it to JOVE.  If you
  100. change your mind about running the command that  is  waiting  for
  101. input, you can type Control-G to abort, and you can continue with
  102. your editing.
  103.  
  104. When JOVE is prompting for a  filename,  all  the  usual  editing
  105. facilities  can  be used to fix typos and such; in addition, JOVE
  106. has the following extra functions:
  107.  
  108. ^N   Insert the next filename from the argument list.
  109.  
  110. ^P   Insert the previous filename from the argument list.
  111.  
  112. ^R   Insert the full pathname of the file in the current buffer.
  113.  
  114. Sometimes you will see --more-- on the message line.   This  hap-
  115. pens  when  typeout  from  a  command  is  too long to fit in the
  116. screen.  It means that if you type a Space the next screenful  of
  117. typeout  will be printed.  If you are not interested, typing any-
  118. thing but a Space will cause the rest of the output  to  be  dis-
  119. carded.   Typing  C-G  will  discard the output and print _A_b_o_r_t_e_d
  120. where the --more-- was.  Typing any other  command  will  discard
  121. the rest of the output and also execute the command.
  122.  
  123. The message line and the list of filenames from the shell command
  124. that  invoked  JOVE  are  kept in a special buffer called _M_i_n_i_b_u_f
  125. that can be edited like any other buffer.
  126.  
  127.  
  128.  
  129.  
  130.                         February 24, 1988
  131.  
  132.  
  133.  
  134.  
  135.  
  136. JOVE Manual for UNIX Users                               USD:17-3
  137.  
  138.  
  139. _2._2.  _T_h_e _M_o_d_e _L_i_n_e
  140.  
  141. At the bottom of the screen, but above the message line,  is  the
  142. _m_o_d_e _l_i_n_e.  The mode line format looks like this:
  143.  
  144.         JOVE (major minor)   Buffer: bufr  "file" *
  145.  
  146. _m_a_j_o_r is the name of the current _m_a_j_o_r _m_o_d_e.  At any  time,  JOVE
  147. can  be  in  only  one major mode at a time.  Currently there are
  148. only four major modes: _F_u_n_d_a_m_e_n_t_a_l, _T_e_x_t, _L_i_s_p and _C.
  149.  
  150. _m_i_n_o_r is a list of the minor modes that are  turned  on.   Abbrev
  151. means that _W_o_r_d _A_b_b_r_e_v mode is on; AI means that _A_u_t_o _I_n_d_e_n_t mode
  152. is on; Fill means that _A_u_t_o _F_i_l_l mode is  on;  OvrWt  means  that
  153. _O_v_e_r  _W_r_i_t_e mode is on.  Def means that you are in the process of
  154. defining a keyboard macro.  This is not really a mode,  but  it's
  155. useful  to be reminded about it.  The meanings of these modes are
  156. described later in this document.
  157.  
  158. _b_u_f_r is the name of the currently selected _b_u_f_f_e_r.   Each  buffer
  159. has  its own name and holds a file being edited; this is how JOVE
  160. can hold several files at once.  But at any given  time  you  are
  161. editing  only one of them, the _s_e_l_e_c_t_e_d buffer.  When we speak of
  162. what some command does to "the buffer", we are talking about  the
  163. currently  selected  buffer.   Multiple  buffers makes it easy to
  164. switch around between several files, and then it is  very  useful
  165. that  the  mode  line  tells you which one you are editing at any
  166. time.  (You will see later that it  is  possible  to  divide  the
  167. screen  into  multiple  _w_i_n_d_o_w_s, each showing a different buffer.
  168. If you do this, there is a mode line beneath each window.)
  169.  
  170. _f_i_l_e is the name of the file that you are editing.  This  is  the
  171. default filename for commands that expect a filename as input.
  172.  
  173. The asterisk at the end of the mode line  means  that  there  are
  174. changes  in  the buffer that have not been saved in the file.  If
  175. the file has not been changed since it  was  read  in  or  saved,
  176. there is no asterisk.
  177.  
  178. _3.  _C_o_m_m_a_n_d _I_n_p_u_t _C_o_n_v_e_n_t_i_o_n_s
  179.  
  180.  
  181. _3._1.  _N_o_t_a_t_i_o_n_a_l _C_o_n_v_e_n_t_i_o_n_s _f_o_r _A_S_C_I_I _C_h_a_r_a_c_t_e_r_s
  182.  
  183. In this manual, "Control" characters (that  is,  characters  that
  184. are  typed  with  the  Control key and some other key at the same
  185. time) are represented by  "C-"  followed  by  another  character.
  186. Thus,  C-A is the character you get when you type A with the Con-
  187. trol key (sometimes labeled CTRL) down.  Most control  characters
  188. when present in the JOVE buffer are displayed with a caret; thus,
  189. ^A for C-A.  Rubout (or DEL) is displayed as ^?, escape as ^[.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                         February 24, 1988
  197.  
  198.  
  199.  
  200.  
  201.  
  202. USD:17-4                               JOVE Manual for UNIX Users
  203.  
  204.  
  205. _3._2.  _C_o_m_m_a_n_d _a_n_d _F_i_l_e_n_a_m_e _C_o_m_p_l_e_t_i_o_n
  206.  
  207. When you are typing the name of a JOVE  command,  you  need  type
  208. only  enough  letters to make the name unambiguous.  At any point
  209. in the course of typing the name, you can type question mark  (?)
  210. to  see  a  list  of  all the commands whose names begin with the
  211. characters you've already typed; you can type Space to have  JOVE
  212. supply  as  many  characters as it can; or you can type Return to
  213. complete the command if there is only one possibility.  For exam-
  214. ple, if you have typed the letters "_a_u" and you then type a ques-
  215. tion mark, you will see the list
  216.  
  217.            auto-execute-command
  218.            auto-execute-macro
  219.            auto-fill-mode
  220.            auto-indent-mode
  221.  
  222. If you type a Return at this point, JOVE will complain by ringing
  223. the  bell,  because the letters you've typed do not unambiguously
  224. specify a single command.  But if you type Space, JOVE will  sup-
  225. ply  the  characters  "_t_o-"  because all commands that begin "_a_u"
  226. also begin "_a_u_t_o-".  You could then type the letter "_f"  followed
  227. by  either  Space  or  Return, and JOVE would complete the entire
  228. command.
  229.  
  230. Whenever JOVE is prompting you for a filename, say in  the  _f_i_n_d-
  231. _f_i_l_e  command, you also need only type enough of the name to make
  232. it unambiguous with respect to files that already exist.  In this
  233. case,  question  mark  and  Space work just as they do in command
  234. completion, but Return always accepts the  name  just  as  you've
  235. typed it, because you might want to create a new file with a name
  236. similar to that of an existing file.  The variable  _b_a_d-_f_i_l_e_n_a_m_e-
  237. _e_x_t_e_n_s_i_o_n_s contains a list of words separated by spaces which are
  238. to be considered bad filename extensions,  and  so  will  not  be
  239. counted  in  filename  completion.  The default is ".o" so if you
  240. have jove.c and jove.o in the same directory, the  filename  com-
  241. pletion  will not complain of an ambiguity because it will ignore
  242. jove.o.
  243.  
  244.  
  245. _4.  _C_o_m_m_a_n_d_s _a_n_d _V_a_r_i_a_b_l_e_s
  246.  
  247. JOVE is composed of _c_o_m_m_a_n_d_s which have long names such as  _n_e_x_t-
  248. _l_i_n_e.   Then  _k_e_y_s  such as C-N are connected to commands through
  249. the _c_o_m_m_a_n_d _d_i_s_p_a_t_c_h _t_a_b_l_e.  When we say that C-N moves the  cur-
  250. sor  down  a  line,  we  are glossing over a distinction which is
  251. unimportant for ordinary use, but essential for simple customiza-
  252. tion:  it is the command _n_e_x_t-_l_i_n_e which knows how to move a down
  253. line, and C-N moves down a line because it is connected  to  that
  254. command.   The name for this connection is a _b_i_n_d_i_n_g; we say that
  255. the key C-N _i_s _b_o_u_n_d _t_o the command _n_e_x_t-_l_i_n_e.
  256.  
  257. Not all commands are bound to keys.  To  invoke  a  command  that
  258. isn't  bound  to a key, you can type the sequence ESC X, which is
  259.  
  260.  
  261.  
  262.                         February 24, 1988
  263.  
  264.  
  265.  
  266.  
  267.  
  268. JOVE Manual for UNIX Users                               USD:17-5
  269.  
  270.  
  271. bound to the command _e_x_e_c_u_t_e-_n_a_m_e_d-_c_o_m_m_a_n_d.   You  will  then  be
  272. able  to type the name of whatever command you want to execute on
  273. the message line.
  274.  
  275. Sometimes the description of a command will say "to change  this,
  276. set  the  variable  _m_u_m_b_l_e-_f_o_o".   A  variable  is a name used to
  277. remember a value.  JOVE contains variables  which  are  there  so
  278. that  you  can  change  them  if  you  want  to  customize.   The
  279. variable's value is examined by some command, and  changing  that
  280. value  makes  the  command  behave  differently.   Until  you are
  281. interesting in customizing JOVE, you can ignore this information.
  282.  
  283. _4._1.  _P_r_e_f_i_x _C_h_a_r_a_c_t_e_r_s
  284.  
  285. Because there are more command names  than  keys,  JOVE  provides
  286. _p_r_e_f_i_x  _c_h_a_r_a_c_t_e_r_s to increase the number of commands that can be
  287. invoked quickly and easily.  When you  type  a  prefix  character
  288. JOVE  will wait for another character before deciding what to do.
  289. If you wait more than a second or so, JOVE will print the  prefix
  290. character  on the message line as a reminder and leave the cursor
  291. down there until you type your next  character.   There  are  two
  292. prefix characters built into JOVE: Escape and Control-X.  How the
  293. next character is interpreted depends on which  prefix  character
  294. you  typed.  For example, if you type Escape followed by B you'll
  295. run _b_a_c_k_w_a_r_d-_w_o_r_d, but if you type Control-X followed by B you'll
  296. run  _s_e_l_e_c_t-_b_u_f_f_e_r.   Elsewhere in this manual, the Escape key is
  297. indicated as "ESC", which is also what JOVE displays on the  mes-
  298. sage line for Escape.
  299.  
  300. _4._2.  _H_e_l_p
  301.  
  302. To get a list of keys and their associated commands, you type ESC
  303. X _d_e_s_c_r_i_b_e-_b_i_n_d_i_n_g_s.  If you want to describe a single key, ESC X
  304. _d_e_s_c_r_i_b_e-_k_e_y will work.  A description of an  individual  command
  305. is available by using ESC X _d_e_s_c_r_i_b_e-_c_o_m_m_a_n_d, and descriptions of
  306. variables by  using   ESC  X  _d_e_s_c_r_i_b_e-_v_a_r_i_a_b_l_e.   If  you  can't
  307. remember  the  name  of  the  thing you want to know about, ESC X
  308. _a_p_r_o_p_o_s will tell you if a command or variable has a given string
  309. in  its  name.  For example, ESC X _a_p_r_o_p_o_s _d_e_s_c_r_i_b_e will list the
  310. names of the four describe commands  mentioned  briefly  in  this
  311. section.
  312.  
  313. _5.  _B_a_s_i_c _E_d_i_t_i_n_g _C_o_m_m_a_n_d_s
  314.  
  315.  
  316. _5._1.  _I_n_s_e_r_t_i_n_g _T_e_x_t
  317.  
  318. To insert printing characters into the text you are editing, just
  319. type  them.   All  printing characters you type are inserted into
  320. the text at the cursor (that is, at _p_o_i_n_t), and the cursor  moves
  321. forward.   Any  characters after the cursor move forward too.  If
  322. the text in the buffer is FOOBAR, with the cursor before  the  B,
  323. then  if  you  type  XX,  you get FOOXXBAR, with the cursor still
  324. before the B.
  325.  
  326.  
  327.  
  328.                         February 24, 1988
  329.  
  330.  
  331.  
  332.  
  333.  
  334. USD:17-6                               JOVE Manual for UNIX Users
  335.  
  336.  
  337. To correct text you have  just  inserted,  you  can  use  Rubout.
  338. Rubout  deletes the character _b_e_f_o_r_e the cursor (not the one that
  339. the cursor is on top of or under; that is the character _a_f_t_e_r the
  340. cursor).   The cursor and all characters after it move backwards.
  341. Therefore, if you typing  a  printing  character  and  then  type
  342. Rubout, they cancel out.
  343.  
  344. To end a line and start typing a new one,  type  Return.   Return
  345. operates  by inserting a _l_i_n_e-_s_e_p_a_r_a_t_o_r, so if you type Return in
  346. the middle of a line, you break  the  line  in  two.   Because  a
  347. line-separator is just a single character, you can type Rubout at
  348. the beginning of a line to delete the line-separator and join  it
  349. with the preceding line.
  350.  
  351. As a special case, if you type Return at the end of  a  line  and
  352. there  are  two  or more empty lines just below it, JOVE does not
  353. insert a line-separator but instead  merely  moves  to  the  next
  354. (empty)  line.   This behavior is convenient when you want to add
  355. several lines of text in the middle of a buffer.  You can use the
  356. Control-O  (_n_e_w_l_i_n_e-_a_n_d-_b_a_c_k_u_p)  command  to "open" several empty
  357. lines at once; then you can insert the new text, filling up these
  358. empty  lines.  The advantage is that JOVE does not have to redraw
  359. the bottom part of the screen for each Return  you  type,  as  it
  360. would  ordinarily.   That  "redisplay"  can be both slow and dis-
  361. tracting.
  362.  
  363. If you add too many characters to one line, without  breaking  it
  364. with Return, the line will grow too long to display on one screen
  365. line.  When this happens, JOVE puts an "!" at the  extreme  right
  366. margin, and doesn't bother to display the rest of the line unless
  367. the cursor happens to be in it.  The "!"  is  not  part  of  your
  368. text;  conversely,  even  though  you  can't see the rest of your
  369. line, it's still there, and if you break the line, the  "!"  will
  370. go away.
  371.  
  372. Direct insertion works for printing  characters  and  space,  but
  373. other  characters act as editing commands and do not insert them-
  374. selves.  If you need to insert a control  character,  Escape,  or
  375. Rubout,  you  must first _q_u_o_t_e it by typing the Control-Q command
  376. first.
  377.  
  378. _5._2.  _M_o_v_i_n_g _t_h_e _C_u_r_s_o_r
  379.  
  380. To do more than insert characters, you have to know how  to  move
  381. the cursor.  Here are a few of the commands for doing that.
  382.  
  383. C-A            Move to the beginning of the line.
  384.  
  385. C-E            Move to the end of the line.
  386.  
  387. C-F            Move forward over one character.
  388.  
  389. C-B            Move backward over one character.
  390.  
  391.  
  392.  
  393.  
  394.                         February 24, 1988
  395.  
  396.  
  397.  
  398.  
  399.  
  400. JOVE Manual for UNIX Users                               USD:17-7
  401.  
  402.  
  403. C-N            Move down one line, vertically.  If you  start  in
  404.                the  middle  of one line, you end in the middle of
  405.                the next.
  406.  
  407. C-P            Move up one line, vertically.
  408.  
  409. ESC <          Move to the beginning of the entire buffer.
  410.  
  411. ESC >          Move to the end of the entire buffer.
  412.  
  413. ESC ,          Move to the beginning of the visible window.
  414.  
  415. ESC .          Move to the end of the visible window.
  416.  
  417. _5._3.  _E_r_a_s_i_n_g _T_e_x_t
  418.  
  419.  
  420. Rubout         Delete the character before the cursor.
  421.  
  422. C-D            Delete the character after the cursor.
  423.  
  424. C-K            Kill to the end of the line.
  425.  
  426. You already know about the Rubout command which deletes the char-
  427. acter before the cursor.  Another command, Control-D, deletes the
  428. character after the cursor, causing the rest of the text  on  the
  429. line  to shift left.  If Control-D is typed at the end of a line,
  430. that line and the next line are joined together.
  431.  
  432. To erase a larger amount of  text,  use  the  Control-K  command,
  433. which kills a line at a time.  If Control-K is done at the begin-
  434. ning or middle of a line, it kills all the text up to the end  of
  435. the  line.   If  Control-K is done at the end of a line, it joins
  436. that line and the next line.  If  Control-K  is  done  twice,  it
  437. kills the rest of the line and the line separator also.
  438.  
  439. _5._4.  _F_i_l_e_s - _S_a_v_i_n_g _Y_o_u_r _W_o_r_k
  440.  
  441. The commands above are sufficient for creating text in  the  JOVE
  442. buffer.  The more advanced JOVE commands just make things easier.
  443. But to keep any text permanently you  must  put  it  in  a  _f_i_l_e.
  444. Files are the objects which UNIX uses  for  storing  data  for  a
  445. length  of time.  To tell JOVE to read text into a file, choose a
  446. filename, such as _f_o_o._b_a_r,  and  type  C-X  C-R  _f_o_o._b_a_r<return>.
  447. This  reads  the  file _f_o_o._b_a_r so that its contents appear on the
  448. screen for editing.  You can make changes, and then save the file
  449. by  typing C-X C-S (save-file).  This makes the changes permanent
  450. and actually changes the file _f_o_o._b_a_r.  Until then,  the  changes
  451. are only inside JOVE, and the file _f_o_o._b_a_r is not really changed.
  452. If the file _f_o_o._b_a_r doesn't exist, and you  want  to  create  it,
  453. read it as if it did exist.  When you save your text with C-X C-S
  454. _________________________
  455.  UNIX is a trademark of Bell Laboratories.
  456.  
  457.  
  458.  
  459.  
  460.                         February 24, 1988
  461.  
  462.  
  463.  
  464.  
  465.  
  466. USD:17-8                               JOVE Manual for UNIX Users
  467.  
  468.  
  469. the file will be created.
  470.  
  471. _5._5.  _E_x_i_t_i_n_g _a_n_d _P_a_u_s_i_n_g - _L_e_a_v_i_n_g _J_O_V_E
  472.  
  473. The command C-X C-C (_e_x_i_t-_j_o_v_e) will terminate the  JOVE  session
  474. and  return  to  the  shell.   If  there are modified but unsaved
  475. buffers, JOVE will ask you for confirmation, and  you  can  abort
  476. the  command, look at what buffers are modified but unsaved using
  477. C-X C-B (_l_i_s_t-_b_u_f_f_e_r_s), save the valuable ones,  and  then  exit.
  478. If  what you want to do, on the other hand, is _p_r_e_s_e_r_v_e the edit-
  479. ing session but return to the shell temporarily  you  can  (under
  480. Berkeley UNIX only) issue the command ESC S (_p_a_u_s_e-_j_o_v_e), do your
  481. UNIX work within the c-shell, then return to JOVE  using  the  _f_g
  482. command  to  resume  editing  at the point where you paused.  For
  483. this sort of situation you might consider  using  an  _i_n_t_e_r_a_c_t_i_v_e
  484. _s_h_e_l_l (that is, a shell in a JOVE window) which lets you use edi-
  485. tor commands to manipulate your UNIX commands (and their  output)
  486. while  never  leaving the editor.  (The interactive shell feature
  487. is described below.)
  488.  
  489. _5._6.  _G_i_v_i_n_g _N_u_m_e_r_i_c _A_r_g_u_m_e_n_t_s _t_o _J_O_V_E _C_o_m_m_a_n_d_s
  490.  
  491. Any JOVE command can be given a _n_u_m_e_r_i_c _a_r_g_u_m_e_n_t.  Some  commands
  492. interpret  the argument as a repetition count.  For example, giv-
  493. ing an argument of ten to  the  C-F  command  (forward-character)
  494. moves  forward  ten characters.  With these commands, no argument
  495. is equivalent to an argument of 1.
  496.  
  497. Some commands use the value of the  argument,  but  do  something
  498. peculiar  (or  nothing)  when there is no argument.  For example,
  499. ESC G (_g_o_t_o-_l_i_n_e) with an argument n goes to the beginning of the
  500. n'th  line.   But  ESC  G  with  no argument doesn't do anything.
  501. Similarly, C-K with an argument kills that many lines,  including
  502. their  line  separators.   Without an argument, C-K when there is
  503. text on the line to the right of the cursor kills that text; when
  504. there  is  no text after the cursor, C-K deletes the line separa-
  505. tor.
  506.  
  507. The fundamental way of specifying an argument is to use ESC  fol-
  508. lowed  by  the digits of the argument, for example, ESC 123 ESC G
  509. to go to line 123. Negative arguments are allowed,  although  not
  510. all of the commands know what to do with one.
  511.  
  512. Typing C-U means do the next command four times.  Two such  C-U's
  513. multiply  the  next  command by sixteen.  Thus, C-U C-U C-F moves
  514. forward sixteen characters.  This is a good way to  move  forward
  515. quickly,  since  it  moves about 1/4 of a line on most terminals.
  516. Other useful combinations are: C-U C-U  C-N  (move  down  a  good
  517. fraction  of  the  screen),  C-U  C-U  C-O (make "a lot" of blank
  518. lines), and C-U C-K (kill four lines - note that typing C-K  four
  519. times would kill 2 lines).
  520.  
  521. There are other, terminal-dependent ways of specifying arguments.
  522. They  have  the  same  effect but may be easier to type.  If your
  523.  
  524.  
  525.  
  526.                         February 24, 1988
  527.  
  528.  
  529.  
  530.  
  531.  
  532. JOVE Manual for UNIX Users                               USD:17-9
  533.  
  534.  
  535. terminal has a numeric keypad which sends something  recognizably
  536. different  from  the  ordinary  digits, it is possible to program
  537. JOVE to to allow use of the numeric keypad for  specifying  argu-
  538. ments.
  539.  
  540. _5._7.  _T_h_e _M_a_r_k _a_n_d _t_h_e _R_e_g_i_o_n
  541.  
  542. In general, a command that processes an  arbitrary  part  of  the
  543. buffer must know where to start and where to stop.  In JOVE, such
  544. commands usually operate on the text between point and _t_h_e  _m_a_r_k.
  545. This body of text is called _t_h_e _r_e_g_i_o_n.  To specify a region, you
  546. set point to one end of it and mark at  the  other.   It  doesn't
  547. matter which one comes earlier in the text.
  548.  
  549. C-@            Set the mark where point is.
  550.  
  551. C-X C-X        Interchange mark and point.
  552.  
  553. For example, if you wish to convert part of  the  buffer  to  all
  554. upper-case,  you  can  use the C-X C-U command, which operates on
  555. the text in the region.  You can first go to the beginning of the
  556. text  to be capitalized, put the mark there, move to the end, and
  557. then type C-X C-U.  Or, you can set the mark at the  end  of  the
  558. text, move to the beginning, and then type C-X C-U.  C-X C-U runs
  559. the command _c_a_s_e-_r_e_g_i_o_n-_u_p_p_e_r,  whose  name  signifies  that  the
  560. region,  or  everything between point and mark, is to be capital-
  561. ized.
  562.  
  563. The way to set the mark is with the C-@ command or (on some  ter-
  564. minals)  the  C-Space command.  They set the mark where point is.
  565. Then you can move point away, leaving mark behind.  When the mark
  566. is set, "[Point pushed]" is printed on the message line.
  567.  
  568. Since terminals have only one cursor, there is no way for JOVE to
  569. show  you  where the mark is located.  You have to remember.  The
  570. usual solution to this problem is to set the mark and then use it
  571. soon,  before  you forget where it is.  But you can see where the
  572. mark is with the command C-X C-X which puts the mark where  point
  573. was  and  point  where  mark  was.   The  extent of the region is
  574. unchanged, but the cursor and point are now at the previous loca-
  575. tion of the mark.
  576.  
  577. _5._8.  _T_h_e _R_i_n_g _o_f _M_a_r_k_s
  578.  
  579. Aside from delimiting the region, the mark  is  also  useful  for
  580. remembering a spot that you may want to go back to.  To make this
  581. feature more useful, JOVE remembers 16 previous locations of  the
  582. mark.   Most  commands  that  set the mark push the old mark onto
  583. this stack.  To return to a marked location, use C-U  C-@.   This
  584. moves point to where the mark was, and restores the mark from the
  585. stack of former marks.  So repeated use  of  this  command  moves
  586. point  to  all  of the old marks on the stack, one by one.  Since
  587. the stack is actually a ring, enough uses of C-U C-@ bring  point
  588. back to where it was originally.
  589.  
  590.  
  591.  
  592.                         February 24, 1988
  593.  
  594.  
  595.  
  596.  
  597.  
  598. USD:17-10                              JOVE Manual for UNIX Users
  599.  
  600.  
  601. Some commands whose primary purpose is to move point a great dis-
  602. tance  take  advantage of the stack of marks to give you a way to
  603. undo the command.  The best example is ESC <, which moves to  the
  604. beginning of the buffer.  If there are more than 22 lines between
  605. the beginning of the buffer and point, ESC < sets the mark first,
  606. so  that  you  can use C-U C-@ or C-X C-X to go back to where you
  607. were.  You can change the number of lines from  22  since  it  is
  608. kept in the variable _m_a_r_k-_t_h_r_e_s_h_o_l_d.  By setting it to 0, you can
  609. make these commands always set the mark.  By setting it to a very
  610. large number you can prevent these commands from ever setting the
  611. mark.  If a command decides to set the mark, it prints  the  mes-
  612. sage [_P_o_i_n_t _p_u_s_h_e_d].
  613.  
  614. _5._9.  _K_i_l_l_i_n_g _a_n_d _M_o_v_i_n_g _T_e_x_t
  615.  
  616. The most common way of moving or copying text  with  JOVE  is  to
  617. kill  it,  and  get it back again in one or more places.  This is
  618. very safe because the last several pieces of killed text are  all
  619. remembered,  and  it  is versatile, because the many commands for
  620. killing syntactic units can also be used for moving those  units.
  621. There are also other ways of moving text for special purposes.
  622.  
  623. _5._1_0.  _D_e_l_e_t_i_o_n _a_n_d _K_i_l_l_i_n_g
  624.  
  625. Most commands which erase text from the buffer save  it  so  that
  626. you  can  get it back if you change your mind, or move or copy it
  627. to other parts of the buffer.  These commands are known  as  _k_i_l_l
  628. commands.   The  rest of the commands that erase text do not save
  629. it; they are known  as  _d_e_l_e_t_e  commands.   The  delete  commands
  630. include  C-D  and  Rubout,  which  delete only one character at a
  631. time, and those commands that delete only spaces or line  separa-
  632. tors.   Commands  that  can  destroy  significant amounts of non-
  633. trivial data generally kill.  A command's  name  and  description
  634. will use the words _k_i_l_l or _d_e_l_e_t_e to say which one it does.
  635.  
  636. C-D                 Delete next character.
  637.  
  638. Rubout              Delete previous character.
  639.  
  640. ESC \               Delete spaces and tabs around point.
  641.  
  642. C-X C-O             Delete blank lines around the current line.
  643.  
  644. C-K                 Kill rest of line or one or more lines.
  645.  
  646. C-W                 Kill region (from point to the mark).
  647.  
  648. ESC D               Kill word.
  649.  
  650. ESC Rubout          Kill word backwards.
  651.  
  652. ESC K               Kill to end of sentence.
  653.  
  654. C-X Rubout          Kill to beginning of sentence.
  655.  
  656.  
  657.  
  658.                         February 24, 1988
  659.  
  660.  
  661.  
  662.  
  663.  
  664. JOVE Manual for UNIX Users                              USD:17-11
  665.  
  666.  
  667. _5._1_1.  _D_e_l_e_t_i_o_n
  668.  
  669. The most basic delete commands are C-D and Rubout.   C-D  deletes
  670. the character after the cursor, the one the cursor is "on top of"
  671. or "underneath".  The cursor doesn't move.   Rubout  deletes  the
  672. character  before  the  cursor,  and moves the cursor back.  Line
  673. separators act like normal characters  when  deleted.   Actually,
  674. C-D  and  Rubout  aren't  always  _d_e_l_e_t_e commands; if you give an
  675. argument, they _k_i_l_l instead.  This prevents  you  from  losing  a
  676. great deal of text by typing a large argument to a C-D or Rubout.
  677.  
  678. The other delete commands are those which delete only  formatting
  679. characters:  spaces,  tabs,  and line separators.  ESC \ (_d_e_l_e_t_e-
  680. _w_h_i_t_e-_s_p_a_c_e) deletes all the spaces and tab characters before and
  681. after  point.   C-X  C-O  (_d_e_l_e_t_e-_b_l_a_n_k-_l_i_n_e_s)  deletes all blank
  682. lines after the current line, and if the current  line  is  blank
  683. deletes  all  the  blank lines preceding the current line as well
  684. (leaving one blank line, the current line).
  685.  
  686. _5._1_2.  _K_i_l_l_i_n_g _b_y _L_i_n_e_s
  687.  
  688. The simplest kill command is the C-K command.  If issued  at  the
  689. beginning  of  a line, it kills all the text on the line, leaving
  690. it blank.  If given on a line containing only white space (blanks
  691. and  tabs)  the  line disappears.  As a consequence, if you go to
  692. the front of a non-blank line and type two C-K's, the line disap-
  693. pears completely.
  694.  
  695. More generally, C-K kills from point up to the end of  the  line,
  696. unless  it  is  at the end of a line.  In that case, it kills the
  697. line separator following the line, thus  merging  the  next  line
  698. into  the  current  one.  Invisible spaces and tabs at the end of
  699. the line are ignored when deciding  which  case  applies,  so  if
  700. point  appears  to be at the end of the line, you can be sure the
  701. line separator will be killed.
  702.  
  703. C-K with an argument of zero kills all the text before  point  on
  704. the current line.
  705.  
  706. _5._1_3.  _O_t_h_e_r _K_i_l_l _C_o_m_m_a_n_d_s
  707.  
  708. A kill command which is very general is C-W (_k_i_l_l-_r_e_g_i_o_n),  which
  709. kills everything between point and the mark.* With this  command,
  710. you can kill and save contiguous characters, if you first set the
  711. mark at one end of them and go to the other end.
  712.  
  713. Other syntactic units can be killed, too; words, with ESC  Rubout
  714. and ESC D; and, sentences, with ESC K and C-X Rubout.
  715.  
  716.  
  717. _________________________
  718. *Often users switch this binding from C-W  to  C-X  C-K
  719. because it is too easy to hit C-W accidentally.
  720.  
  721.  
  722.  
  723.  
  724.                         February 24, 1988
  725.  
  726.  
  727.  
  728.  
  729.  
  730. USD:17-12                              JOVE Manual for UNIX Users
  731.  
  732.  
  733. _5._1_4.  _U_n-_k_i_l_l_i_n_g
  734.  
  735. Un-killing (yanking) is getting back text which was killed.   The
  736. usual  way to move or copy text is to kill it and then un-kill it
  737. one or more times.
  738.  
  739. C-Y       Yank (re-insert) last killed text.
  740.  
  741. ESC Y     Replace re-inserted killed  text  with  the  previously
  742.           killed text.
  743.  
  744. ESC W     Save region as last killed text without killing.
  745.  
  746. Killed text is pushed onto a _r_i_n_g _b_u_f_f_e_r  called  the  _k_i_l_l  _r_i_n_g
  747. that remembers the last 10 blocks of text that were killed.  (Why
  748. it is called a ring buffer will be explained below).  The command
  749. C-Y (_y_a_n_k) reinserts the text of the most recent kill.  It leaves
  750. the cursor at the end of the text,  and  puts  the  mark  at  the
  751. beginning.  Thus, a single C-Y undoes the C-W.
  752.  
  753. If you wish to copy a block of text, you might want to use ESC  W
  754. (_c_o_p_y-_r_e_g_i_o_n), which copies the region into the kill ring without
  755. removing it from the buffer.  This is approximately equivalent to
  756. C-W  followed  by C-Y, except that ESC W does not mark the buffer
  757. as "changed" and does not cause the screen to be rewritten.
  758.  
  759. There is only one kill ring shared among all the buffers.   After
  760. visiting  a  new  file,  whatever was last killed in the previous
  761. file is still on top of the kill ring.   This  is  important  for
  762. moving text between files.
  763.  
  764. _5._1_5.  _A_p_p_e_n_d_i_n_g _K_i_l_l_s
  765.  
  766. Normally, each kill command pushes a  new  block  onto  the  kill
  767. ring.   However,  two  or more kill commands immediately in a row
  768. (without any other intervening commands) combine their text  into
  769. a  single entry on the ring, so that a single C-Y command gets it
  770. all back as it was before it was killed.   This  means  that  you
  771. don't have to kill all the text in one command; you can keep kil-
  772. ling line after line, or word after word, until you  have  killed
  773. it all, and you can still get it all back at once.
  774.  
  775. Commands that kill forward from _p_o_i_n_t add onto  the  end  of  the
  776. previous killed text.  Commands that kill backward from _p_o_i_n_t add
  777. onto the beginning.  This way, any sequence of mixed forward  and
  778. backward  kill  commands  puts all the killed text into one entry
  779. without needing rearrangement.
  780.  
  781. _5._1_6.  _U_n-_k_i_l_l_i_n_g _E_a_r_l_i_e_r _K_i_l_l_s
  782.  
  783. To recover killed text that is no longer the  most  recent  kill,
  784. you  need the ESC Y (_y_a_n_k-_p_o_p) command.  The ESC Y command can be
  785. used only after a C-Y (yank) command or another ESC Y.  It  takes
  786. the  un-killed  text inserted by the C-Y and replaces it with the
  787.  
  788.  
  789.  
  790.                         February 24, 1988
  791.  
  792.  
  793.  
  794.  
  795.  
  796. JOVE Manual for UNIX Users                              USD:17-13
  797.  
  798.  
  799. text from an earlier kill.  So, to recover the text of the  next-
  800. to-the-last kill, you first use C-Y to recover the last kill, and
  801. then discard it by use of ESC Y to  move  back  to  the  previous
  802. kill.
  803.  
  804. You can think of all the last few kills  as  living  on  a  ring.
  805. After  a  C-Y  command, the text at the front of the ring is also
  806. present in the buffer.  ESC Y "rotates"  the  ring  bringing  the
  807. previous  string  of text to the front and this text replaces the
  808. other text in the buffer as well.   Enough  ESC  Y  commands  can
  809. rotate  any  part of the ring to the front, so you can get at any
  810. killed text so long as it is recent enough to  be  still  in  the
  811. ring.   Eventually  the  ring  rotates all the way around and the
  812. most recently killed text  comes  to  the  front  (and  into  the
  813. buffer)  again.   ESC Y with a negative argument rotates the ring
  814. backwards.
  815.  
  816. When the text you are looking for is brought into the buffer, you
  817. can stop doing ESC Y's and the text will stay there.  It's really
  818. just a copy of what's at the front of the  ring,  so  editing  it
  819. does  not change what's in the ring.  And the ring, once rotated,
  820. stays rotated, so that doing another C-Y  gets  another  copy  of
  821. what you rotated to the front with ESC Y.
  822.  
  823. If you change your mind about un-killing, C-W  gets  rid  of  the
  824. un-killed text, even after any number of ESC Y's.
  825.  
  826. _6.  _S_e_a_r_c_h_i_n_g
  827.  
  828. The search commands are useful for finding and  moving  to  arbi-
  829. trary  positions in the buffer in one swift motion.  For example,
  830. if you just ran the spell program on a  paper  and  you  want  to
  831. correct  some  word,  you  can  use  the  search commands to move
  832. directly to that word.  There are two flavors of  search:  _s_t_r_i_n_g
  833. _s_e_a_r_c_h  and  _i_n_c_r_e_m_e_n_t_a_l  _s_e_a_r_c_h.   The  former  is  the  default
  834. flavor-if you want to use incremental search you  must  rearrange
  835. the key bindings (see below).
  836.  
  837. _6._1.  _C_o_n_v_e_n_t_i_o_n_a_l _S_e_a_r_c_h
  838.  
  839.  
  840. C-S            Search forward.
  841.  
  842. C-R            Search backward.
  843.  
  844. To search for the string "FOO" you type  "C-S  FOO<return>".   If
  845. JOVE  finds  FOO  it moves point to the end of it; otherwise JOVE
  846. prints an error message and leaves point unchanged.  C-S searches
  847. forward  from  point  so  only occurrences of FOO after point are
  848. found.  To search in the other direction use C-R.  It is  exactly
  849. the same as C-S except it searches in the opposite direction, and
  850. if it finds the string, it leaves point at the beginning  of  it,
  851. not at the end as in C-S.
  852.  
  853.  
  854.  
  855.  
  856.                         February 24, 1988
  857.  
  858.  
  859.  
  860.  
  861.  
  862. USD:17-14                              JOVE Manual for UNIX Users
  863.  
  864.  
  865. While JOVE is searching it prints the search string on  the  mes-
  866. sage  line.   This  is  so you know what JOVE is doing.  When the
  867. system is heavily  loaded  and  editing  in  exceptionally  large
  868. buffers, searches can take several (sometimes many) seconds.
  869.  
  870. JOVE remembers the last search string you used, so if you want to
  871. search  for  the same string you can type "C-S <return>".  If you
  872. mistyped the last search string, you can type C-S followed by  C-
  873. R.   C-R,  as  usual,  inserts the default search string into the
  874. minibuffer, and then you can fix it up.
  875.  
  876. _6._2.  _I_n_c_r_e_m_e_n_t_a_l _S_e_a_r_c_h
  877.  
  878. This search command is unusual in  that  is  is  _i_n_c_r_e_m_e_n_t_a_l;  it
  879. begins  to  search  before  you  have  typed  the complete search
  880. string.  As you type in the search string, JOVE shows  you  where
  881. it  would  be  found.   When  you have typed enough characters to
  882. identify the place you want, you can stop.  Depending on what you
  883. will  do  next,  you  may or may not need to terminate the search
  884. explicitly with a Return first.
  885.  
  886. The command to search is C-S (_i-_s_e_a_r_c_h-_f_o_r_w_a_r_d).   C-S  reads  in
  887. characters  and  positions  the cursor at the first occurrence of
  888. the characters that you have typed so far.  If you type  C-S  and
  889. then  F,  the  cursor  moves in the text just after the next "F".
  890. Type an "O", and see the cursor move  to  after  the  next  "FO".
  891. After  another  "O",  the cursor is after the next "FOO".  At the
  892. same time, the "FOO" has echoed on the message line.
  893.  
  894. If you type a mistaken character, you can rub it out.  After  the
  895. FOO,  typing  a  Rubout  makes the "O" disappear from the message
  896. line, leaving only "FO".  The cursor moves back in the buffer  to
  897. the  "FO".   Rubbing out the "O" and "F" moves the cursor back to
  898. where you started the search.
  899.  
  900. When you are satisfied with the place you have reached,  you  can
  901. type  a  Return,  which stops searching, leaving the cursor where
  902. the search brought it.  Also, any command not specially  meaning-
  903. ful  in searches stops the searching and is then executed.  Thus,
  904. typing C-A would exit the search and then move to  the  beginning
  905. of  the line.  Return is necessary only if the next character you
  906. want to type is a printing character, Rubout, Return, or  another
  907. search  command, since those are the characters that have special
  908. meanings inside the search.
  909.  
  910. Sometimes you search for "FOO" and find it, but not the  one  you
  911. hoped  to  find.   Perhaps  there is a second FOO that you forgot
  912. about, after the one you just found.  Then type another  C-S  and
  913. the  cursor  will find the next FOO.  This can be done any number
  914. of times.  If you overshoot, you can return to previous finds  by
  915. rubbing out the C-S's.
  916.  
  917. After you exit a search, you can search for the same string again
  918. by  typing  just C-S C-S: one C-S command to start the search and
  919.  
  920.  
  921.  
  922.                         February 24, 1988
  923.  
  924.  
  925.  
  926.  
  927.  
  928. JOVE Manual for UNIX Users                              USD:17-15
  929.  
  930.  
  931. then another C-S to mean "search again for the same string".
  932.  
  933. If your string is not found at all, the message line says  "Fail-
  934. ing I-search".  The cursor is after the place where JOVE found as
  935. much of your string as it could.  Thus, if you  search  for  FOOT
  936. and  there  is no FOOT, you might see the cursor after the FOO in
  937. FOOL.  At this point there are several things  you  can  do.   If
  938. your  string was mistyped, you can rub some of it out and correct
  939. it.  If you like the place you have found, you can type Return or
  940. some  other JOVE command to "accept what the search offered".  Or
  941. you can type C-G, which undoes the search  altogether  and  posi-
  942. tions you back where you started the search.
  943.  
  944. You can also type C-R at any time to start  searching  backwards.
  945. If  a  search fails because the place you started was too late in
  946. the file, you should do this.  Repeated C-R's keep looking  back-
  947. ward  for  more  occurrences  of  the  last search string.  A C-S
  948. starts going forward again.  C-R's can be rubbed  out  just  like
  949. anything else.
  950.  
  951. _6._3.  _S_e_a_r_c_h_i_n_g _w_i_t_h _R_e_g_u_l_a_r _E_x_p_r_e_s_s_i_o_n_s
  952.  
  953. In addition to the searching facilities described above, JOVE can
  954. search  for  patterns using regular expressions.  The handling of
  955. regular expressions in JOVE is like that of _e_d(_1) or  _v_i(_1),  but
  956. with some notable additions.  The extra metacharacters understood
  957. by JOVE are \<, \>, \| and \{.  The first two of these match  the
  958. beginnings  and  endings  of  words;  Thus  the  search  pattern,
  959. "\<Exec" would match all words beginning with the letters "Exec".
  960.  
  961. An \| signals the beginning of an alternative - that is, the pat-
  962. tern  "foo\|bar"  would  match either "foo" or "bar".  The "curly
  963. brace" is a way of introducing several  sub-alternatives  into  a
  964. pattern.   It  parallels the [] construct of regular expressions,
  965. except it specifies a list of alternative words instead  of  just
  966. alternative   characters.   So  the  pattern  "foo\{bar,baz\}bie"
  967. matches "foobarbie" or "foobazbie".
  968.  
  969. JOVE only regards  metacharacters  as  special  if  the  variable
  970. _m_a_t_c_h-_r_e_g_u_l_a_r-_e_x_p_r_e_s_s_i_o_n_s  is  set  to "on".  The ability to have
  971. JOVE ignore these characters is useful if you're editing a  docu-
  972. ment  about  patterns and regular expressions or when a novice is
  973. learning JOVE.
  974.  
  975. Another variable that affects  searching  is  _c_a_s_e-_i_g_n_o_r_e-_s_e_a_r_c_h.
  976. If  this  variable  is set to "on" then upper case and lower case
  977. letters are considered equal.
  978.  
  979. _7.  _R_e_p_l_a_c_e_m_e_n_t _C_o_m_m_a_n_d_s
  980.  
  981. Global search-and-replace operations are not needed as  often  in
  982. JOVE  as  they  are in other editors, but they are available.  In
  983. addition to the simple Replace operation which is like that found
  984. in  most  editors, there is a Query Replace operation which asks,
  985.  
  986.  
  987.  
  988.                         February 24, 1988
  989.  
  990.  
  991.  
  992.  
  993.  
  994. USD:17-16                              JOVE Manual for UNIX Users
  995.  
  996.  
  997. for each occurrence of the pattern, whether to replace it.
  998.  
  999. _7._1.  _G_l_o_b_a_l _r_e_p_l_a_c_e_m_e_n_t
  1000.  
  1001. To replace every occurrence of FOO after point with BAR, you  can
  1002. do, e.g., "ESC R FOO<return>BAR" as the _r_e_p_l_a_c_e-_s_t_r_i_n_g command is
  1003. bound to the ESC R.  Replacement takes place only  between  point
  1004. and  the  end  of  the  buffer  so if you want to cover the whole
  1005. buffer you must go to the beginning first.
  1006.  
  1007. _7._2.  _Q_u_e_r_y _R_e_p_l_a_c_e
  1008.  
  1009. If you want to change only some of the occurrences  of  FOO,  not
  1010. all,  then  the  global _r_e_p_l_a_c_e-_s_t_r_i_n_g is inappropriate; Instead,
  1011. use, e.g., "ESC Q FOO<return>BAR",  to  run  the  command  _q_u_e_r_y-
  1012. _r_e_p_l_a_c_e-_s_t_r_i_n_g.   This  displays each occurrence of FOO and waits
  1013. for you to say whether to replace it with a BAR.  The things  you
  1014. can type when you are shown an occurrence of FOO are:
  1015.  
  1016. Space          to replace the FOO.
  1017.  
  1018. Rubout         to skip to the next  FOO  without  replacing  this
  1019.                one.
  1020.  
  1021. Return         to stop without doing any more replacements.
  1022.  
  1023. Period         to replace this FOO and then stop.
  1024.  
  1025. ! or P         to replace all remaining FOO's without asking.
  1026.  
  1027. C-R or R       to enter a recursive editing level,  in  case  the
  1028.                FOO  needs  to be edited rather than just replaced
  1029.                with a BAR.  When you are done, exit the recursive
  1030.                editing  level  with C-X C-C and the next FOO will
  1031.                be displayed.
  1032.  
  1033. C-W            to delete the FOO,  and  then  start  editing  the
  1034.                buffer.  When you are finished editing whatever is
  1035.                to replace the FOO,  exit  the  recursive  editing
  1036.                level  with  C-X  C-C  and  the  next  FOO will be
  1037.                displayed.
  1038.  
  1039. U              move to the last replacement and undo it.
  1040.  
  1041. Another alternative is using _r_e_p_l_a_c_e-_i_n-_r_e_g_i_o_n which is just like
  1042. _r_e_p_l_a_c_e-_s_t_r_i_n_g except it searches only within the region.
  1043.  
  1044.  
  1045. _8.  _C_o_m_m_a_n_d_s _f_o_r _E_n_g_l_i_s_h _T_e_x_t
  1046.  
  1047. JOVE has many commands that work on the basic  units  of  English
  1048. text: words, sentences and paragraphs.
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.                         February 24, 1988
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. JOVE Manual for UNIX Users                              USD:17-17
  1061.  
  1062.  
  1063. _8._1.  _W_o_r_d _C_o_m_m_a_n_d_s
  1064.  
  1065. JOVE has commands for moving over or operating on words.  By con-
  1066. vention, they are all ESC commands.
  1067.  
  1068. ESC F               Move Forward over a word.
  1069.  
  1070. ESC B               Move Backward over a word.
  1071.  
  1072. ESC D               Kill forward to the end of a word.
  1073.  
  1074. ESC Rubout          Kill backward to the beginning of a word.
  1075.  
  1076. Notice how  these  commands  form  a  group  that  parallels  the
  1077. character- based commands, C-F, C-B, C-D, and Rubout.
  1078.  
  1079. The commands ESC F and ESC  B  move  forward  and  backward  over
  1080. words.  They are thus analogous to Control-F and Control-B, which
  1081. move over single characters.  Like their Control- analogues,  ESC
  1082. F  and ESC B move several words if given an argument.  ESC F with
  1083. a negative argument moves backward like ESC B, and ESC B  with  a
  1084. negative  argument  moves  forward.   Forward  motion stops right
  1085. after the last letter of the word, while  backward  motion  stops
  1086. right before the first letter.
  1087.  
  1088. It is easy to kill a word at a time.  ESC D kills the word  after
  1089. point.   To  be  precise,  it  kills everything from point to the
  1090. place ESC F would move to.  Thus, if point is in the middle of  a
  1091. word,  only  the part after point is killed.  If some punctuation
  1092. comes after point, and before the next word, it is  killed  along
  1093. with  the  word.   If you wish to kill only the next word but not
  1094. the punctuation, simply do ESC F to get to the end, and kill  the
  1095. word  backwards with ESC Rubout.  ESC D takes arguments just like
  1096. ESC F.
  1097.  
  1098. ESC Rubout kills the word before point.  It kills everything from
  1099. point  back  to where ESC B would move to.  If point is after the
  1100. space in "FOO, BAR", then "FOO, " is killed.  If you wish to kill
  1101. just "FOO", then do a ESC B and a ESC D instead of a ESC Rubout.
  1102.  
  1103. _8._2.  _S_e_n_t_e_n_c_e _C_o_m_m_a_n_d_s
  1104.  
  1105. The JOVE commands for manipulating sentences and  paragraphs  are
  1106. mostly  ESC  commands,  so  as to resemble the word-handling com-
  1107. mands.
  1108.  
  1109. ESC A               Move back to the beginning of the sentence.
  1110.  
  1111. ESC E               Move forward to the end of the sentence.
  1112.  
  1113. ESC K               Kill forward to the end of the sentence.
  1114.  
  1115. C-X Rubout          Kill back to the beginning of the sentence.
  1116.  
  1117.  
  1118.  
  1119.  
  1120.                         February 24, 1988
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. USD:17-18                              JOVE Manual for UNIX Users
  1127.  
  1128.  
  1129. The commands ESC A and ESC E move to the beginning and end of the
  1130. current  sentence,  respectively.   They  were chosen to resemble
  1131. Control-A and Control-E, which move to the beginning and end of a
  1132. line.   Unlike them, ESC A and ESC E if repeated or given numeric
  1133. arguments move over successive sentences.  JOVE considers a  sen-
  1134. tence to end wherever there is a ".", "?", or "!" followed by the
  1135. end of a line or by one or more spaces.  Neither ESC A nor ESC  E
  1136. moves  past  the end of the line or spaces which delimit the sen-
  1137. tence.
  1138.  
  1139. Just as C-A and C-E have a kill command, C-K, to go with them, so
  1140. ESC  A  and  ESC  E have a corresponding kill command ESC K which
  1141. kills from point to the end of the sentence.  With minus  one  as
  1142. an  argument  it  kills  back  to  the beginning of the sentence.
  1143. Positive arguments serve as a repeat count.
  1144.  
  1145. There is a special command, C-X Rubout for killing  back  to  the
  1146. beginning  of  a sentence, because this is useful when you change
  1147. your mind in the middle of composing text.
  1148.  
  1149. _8._3.  _P_a_r_a_g_r_a_p_h _C_o_m_m_a_n_d_s
  1150.  
  1151. The JOVE commands for handling paragraphs are
  1152.  
  1153. ESC [               Move back to previous paragraph beginning.
  1154.  
  1155. ESC ]               Move forward to next paragraph end.
  1156.  
  1157. ESC [ moves to the beginning of the  current  or  previous  para-
  1158. graph,  while ESC ] moves to the end of the current or next para-
  1159. graph.  Paragraphs are delimited by lines of differing indent, or
  1160. lines  with  text formatter commands, or blank lines.  JOVE knows
  1161. how to deal with most indented paragraphs correctly, although  it
  1162. can get confused by one- or two-line paragraphs delimited only by
  1163. indentation.
  1164.  
  1165. _8._4.  _T_e_x_t _I_n_d_e_n_t_a_t_i_o_n _C_o_m_m_a_n_d_s
  1166.  
  1167.  
  1168. Tab                 Indent "appropriately"  in  a  mode-dependent
  1169.                     fashion.
  1170.  
  1171. LineFeed            Is the same as Return, except it  copies  the
  1172.                     indent of the line you just left.
  1173.  
  1174. ESC M               Moves to the line's first  non-blank  charac-
  1175.                     ter.
  1176.  
  1177.  
  1178. The way to request indentation is with the Tab command.  Its pre-
  1179. cise  effect depends on the major mode.  In _T_e_x_t mode, it indents
  1180. to the next tab stop.  In _C mode, it indents to the "right" posi-
  1181. tion for C programs.
  1182.  
  1183.  
  1184.  
  1185.  
  1186.                         February 24, 1988
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. JOVE Manual for UNIX Users                              USD:17-19
  1193.  
  1194.  
  1195. To move over the indentation on a  line,  do  ESC  M  (_f_i_r_s_t-_n_o_n-
  1196. _b_l_a_n_k).   This  command,  given anywhere on a line, positions the
  1197. cursor at the first non-blank, non-tab character on the line.
  1198.  
  1199. _8._5.  _T_e_x_t _F_i_l_l_i_n_g
  1200.  
  1201. _A_u_t_o _F_i_l_l mode causes text to be _f_i_l_l_e_d  (broken  up  into  lines
  1202. that  fit  in a specified width) automatically as you type it in.
  1203. If you alter existing text so  that  it  is  no  longer  properly
  1204. filled, JOVE can fill it again if you ask.
  1205.  
  1206. Entering _A_u_t_o _F_i_l_l mode is done with ESC X _a_u_t_o-_f_i_l_l-_m_o_d_e.   From
  1207. then  on,  lines are broken automatically at spaces when they get
  1208. longer than the desired width.  To leave  _A_u_t_o  _F_i_l_l  mode,  once
  1209. again  execute  ESC  X _a_u_t_o-_f_i_l_l-_m_o_d_e.  When _A_u_t_o _F_i_l_l mode is in
  1210. effect, the word Fill appears in the mode line.
  1211.  
  1212. If you edit the middle of a paragraph, it may no longer correctly
  1213. be  filled.   To refill a paragraph, use the command ESC J (_f_i_l_l-
  1214. _p_a_r_a_g_r_a_p_h).  It causes the paragraph that point is inside  to  be
  1215. filled.   All  the  line breaks are removed and new ones inserted
  1216. where necessary.
  1217.  
  1218. The maximum line width for filling  is  in  the  variable  _r_i_g_h_t-
  1219. _m_a_r_g_i_n.   Both ESC J and auto-fill make sure that no line exceeds
  1220. this width.  The value of _r_i_g_h_t-_m_a_r_g_i_n is initially 72.
  1221.  
  1222. Normally ESC J figures out the indent of the paragraph  and  uses
  1223. that  same indent when filling.  If you want to change the indent
  1224. of a paragraph you set _l_e_f_t-_m_a_r_g_i_n to the new position  and  type
  1225. C-U ESC J.   _f_i_l_l-_p_a_r_a_g_r_a_p_h,  when  supplied  a numeric argument,
  1226. uses the value of _l_e_f_t-_m_a_r_g_i_n.
  1227.  
  1228. If you know where you want to set the right margin but you  don't
  1229. know  the  actual  value, move to where you want to set the value
  1230. and use the _r_i_g_h_t-_m_a_r_g_i_n-_h_e_r_e command.  _l_e_f_t-_m_a_r_g_i_n-_h_e_r_e does the
  1231. same for the _l_e_f_t-_m_a_r_g_i_n variable.
  1232.  
  1233. _8._6.  _C_a_s_e _C_o_n_v_e_r_s_i_o_n _C_o_m_m_a_n_d_s
  1234.  
  1235.  
  1236. ESC L          Convert following word to lower case.
  1237.  
  1238. ESC U          Convert following word to upper case.
  1239.  
  1240. ESC C          Capitalize the following word.
  1241.  
  1242.  
  1243. The word conversion commands are most useful.  ESC L converts the
  1244. word after point to lower case, moving past it.  Thus, successive
  1245. ESC L's convert successive words.  ESC U converts to all capitals
  1246. instead, while ESC C puts the first letter of the word into upper
  1247. case and the rest into lower case.  All  these  commands  convert
  1248. several  words at once if given an argument.  They are especially
  1249.  
  1250.  
  1251.  
  1252.                         February 24, 1988
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. USD:17-20                              JOVE Manual for UNIX Users
  1259.  
  1260.  
  1261. convenient for converting a large amount of text from  all  upper
  1262. case  to  mixed case, because you can move through the test using
  1263. ESC L, ESC U or ESC C on each word as appropriate.
  1264.  
  1265. When given a negative argument, the word case conversion commands
  1266. apply to the appropriate number of words before point, but do not
  1267. move point.  This is convenient when you have just typed  a  word
  1268. in  the wrong case.  You can give the case conversion command and
  1269. continue typing.
  1270.  
  1271. If a word case conversion command is given in  the  middle  of  a
  1272. word,  it  applies only to the part of the word which follows the
  1273. cursor, treating it as a whole word.
  1274.  
  1275. The other case conversion  functions  are  _c_a_s_e-_r_e_g_i_o_n-_u_p_p_e_r  and
  1276. _c_a_s_e-_r_e_g_i_o_n-_l_o_w_e_r,  which  convert  everything  between point and
  1277. mark to the specified case.  Point and mark remain unchanged.
  1278.  
  1279. _8._7.  _C_o_m_m_a_n_d_s _f_o_r _F_i_x_i_n_g _T_y_p_o_s
  1280.  
  1281. In this section we describe the commands that are especially use-
  1282. ful for the times when you catch a mistake on your text after you
  1283. have made it, or change your mind while composing text on line.
  1284.  
  1285. Rubout                   Delete last character.
  1286.  
  1287. ESC Rubout               Kill last word.
  1288.  
  1289. C-X Rubout               Kill to beginning of sentence.
  1290.  
  1291. C-T                      Transpose two characters.
  1292.  
  1293. C-X C-T                  Transpose two lines.
  1294.  
  1295. ESC Minus ESC L          Convert last word to lower case.
  1296.  
  1297. ESC Minus ESC U          Convert last word to upper case.
  1298.  
  1299. ESC Minus ESC C          Convert last word  to  lower  case  with
  1300.                          capital initial.
  1301.  
  1302.  
  1303. _8._8.  _K_i_l_l_i_n_g _Y_o_u_r _M_i_s_t_a_k_e_s
  1304.  
  1305. The Rubout command is  the  most  important  correction  command.
  1306. When  used  among printing (self-inserting) characters, it can be
  1307. thought of as canceling the last character typed.
  1308.  
  1309. When your mistake is longer than a couple of characters, it might
  1310. be  more  convenient to use ESC Rubout or C-X Rubout.  ESC Rubout
  1311. kills back to the start of the last word, and  C-X  Rubout  kills
  1312. back  to  the start of the last sentence.  C-X Rubout is particu-
  1313. larly useful when you are thinking of what to write as  you  type
  1314. it,  in case you change your mind about phrasing.  ESC Rubout and
  1315.  
  1316.  
  1317.  
  1318.                         February 24, 1988
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. JOVE Manual for UNIX Users                              USD:17-21
  1325.  
  1326.  
  1327. C-X Rubout save the killed text for C-Y and ESC Y to retrieve.
  1328.  
  1329. ESC Rubout is often useful even when you have typed  only  a  few
  1330. characters wrong, if you know you are confused in your typing and
  1331. aren't sure what you typed.  At such a time, you  cannot  correct
  1332. with  Rubout except by looking at the screen to see what you did.
  1333. It requires less thought to kill the whole word  and  start  over
  1334. again, especially if the system is heavily loaded.
  1335.  
  1336. If you were typing a command  or  command  parameters,  C-G  will
  1337. abort the command with no further processing.
  1338.  
  1339. _8._9.  _T_r_a_n_s_p_o_s_i_t_i_o_n
  1340.  
  1341. The common error of transposing two characters can be fixed  with
  1342. the C-T (_t_r_a_n_s_p_o_s_e-_c_h_a_r_a_c_t_e_r_s) command.  Normally, C-T transposes
  1343. the two characters on either side of the  cursor  and  moves  the
  1344. cursor  forward  one  character.   Repeating  the command several
  1345. times "drags" a character to the right.  (Remember that _p_o_i_n_t  is
  1346. considered  to be between two characters, even though the visible
  1347. cursor in your terminal is on only one of them.)  When  given  at
  1348. the  end  of  a line, rather than switching the last character of
  1349. the line with the line separator, which  would  be  useless,  C-T
  1350. transposes the last two characters on the line.  So, if you catch
  1351. your transposition error right away, you can fix it with  just  a
  1352. C-T.   If  you  don't  catch it so fast, you must move the cursor
  1353. back to between the two characters.
  1354.  
  1355. To transpose two lines, use the C-X  C-T  (_t_r_a_n_s_p_o_s_e-_l_i_n_e_s)  com-
  1356. mand.   The line containing the cursor is exchanged with the line
  1357. above it; the cursor is left at the beginning of the line follow-
  1358. ing its original position.
  1359.  
  1360. _8._1_0.  _C_h_e_c_k_i_n_g _a_n_d _C_o_r_r_e_c_t_i_n_g _S_p_e_l_l_i_n_g
  1361.  
  1362. When you write a paper, you should correct its spelling  at  some
  1363. point  close  to  finishing it.  To correct the entire buffer, do
  1364. ESC X _s_p_e_l_l-_b_u_f_f_e_r.  This invokes the UNIX _s_p_e_l_l  program,  which
  1365. prints a list of all the misspelled words.  JOVE catches the list
  1366. and places it in a JOVE buffer called Spell.  You  are  given  an
  1367. opportunity  to  delete  from  that  buffer any words that aren't
  1368. really errors; then  JOVE  looks  up  each  misspelled  word  and
  1369. remembers  where  it  is in the buffer being corrected.  Then you
  1370. can go forward to each misspelled word with C-X C-N  (_n_e_x_t-_e_r_r_o_r)
  1371. and  backward  with  C-X  C-P  (_p_r_e_v_i_o_u_s-_e_r_r_o_r).  See the section
  1372. entitled _E_r_r_o_r _M_e_s_s_a_g_e _P_a_r_s_i_n_g.
  1373.  
  1374. _9.  _F_i_l_e _H_a_n_d_l_i_n_g
  1375.  
  1376. The basic unit of stored data is the file.   Each  program,  each
  1377. paper,  lives  usually  in  its  own  file.  To edit a program or
  1378. paper, the editor must be told the name of the file that contains
  1379. it.  This is called _v_i_s_i_t_i_n_g a file.  To make your changes to the
  1380. file permanent on disk, you must _s_a_v_e the file.
  1381.  
  1382.  
  1383.  
  1384.                         February 24, 1988
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. USD:17-22                              JOVE Manual for UNIX Users
  1391.  
  1392.  
  1393. _9._1.  _V_i_s_i_t_i_n_g _F_i_l_e_s
  1394.  
  1395.  
  1396. C-X C-V        Visit a file.
  1397.  
  1398. C-X C-R        Same as C-X C-V.
  1399.  
  1400. C-X C-S        Save the visited file.
  1401.  
  1402. ESC ~          Tell JOVE to  forget  that  the  buffer  has  been
  1403.                changed.
  1404.  
  1405.  
  1406. _V_i_s_i_t_i_n_g a file means copying its contents into  JOVE  where  you
  1407. can  edit them.  JOVE remembers the name of the file you visited.
  1408. Unless you use the multiple buffer feature of JOVE, you can  only
  1409. be visiting one file at a time.  The name of the current selected
  1410. buffer is visible in the mode line.
  1411.  
  1412. The changes you make with JOVE are made in a  copy  inside  JOVE.
  1413. The  file  itself  is  not changed.  The changed text is not per-
  1414. manent until you _s_a_v_e it in a file.  The first  time  you  change
  1415. the  text,  an asterisk appears at the end of the mode line; this
  1416. indicates that the text contains fresh changes which will be lost
  1417. unless you save them.
  1418.  
  1419. To visit a file, use the command C-X  C-V.   Follow  the  command
  1420. with  the  name  of  the  file you wish to visit, terminated by a
  1421. Return.  You can abort the command by typing  C-G,  or  edit  the
  1422. filename with many of the standard JOVE commands (e.g., C-A, C-E,
  1423. C-F, ESC F, ESC Rubout).  If the filename you wish  to  visit  is
  1424. similar  to the filename in the mode line (the default filename),
  1425. you can type C-R to insert the default and then edit it.  If  you
  1426. do  type  a  Return  to  finish  the command, the new file's text
  1427. appears on the screen, and its name appears in the mode line.  In
  1428. addition, its name becomes the new default filename.
  1429.  
  1430. If you wish to save the file and  make  your  changes  permanent,
  1431. type  C-X  C-S.   After  the save is finished, C-X C-S prints the
  1432. filename and the number of characters and lines that it wrote  to
  1433. the  file.   If  there are no changes to save (no asterisk at the
  1434. end of the mode line), the  file  is  not  saved;  otherwise  the
  1435. changes  saved  and the asterisk at the end of the mode line will
  1436. disappear.
  1437.  
  1438. What if you want to create a file?  Just visit it.   JOVE  prints
  1439. (_N_e_w  _f_i_l_e)  but aside from that behaves as if you had visited an
  1440. existing empty file.  If you make any changes and save them,  the
  1441. file is created.  If you visit a nonexistent file unintentionally
  1442. (because you typed the wrong filename), go ahead  and  visit  the
  1443. file  you  meant.  If you don't save the unwanted file, it is not
  1444. created.
  1445.  
  1446. If you alter one file and then visit another in the same  buffer,
  1447.  
  1448.  
  1449.  
  1450.                         February 24, 1988
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. JOVE Manual for UNIX Users                              USD:17-23
  1457.  
  1458.  
  1459. JOVE offers to save the old one.  If you answer YES, the old file
  1460. is saved; if you answer NO, all the changes you have made  to  it
  1461. since  the last save are lost.  You should not type ahead after a
  1462. file visiting command, because your type-ahead  might  answer  an
  1463. unexpected question in a way that you would regret.
  1464.  
  1465. Sometimes you will change a buffer by accident.  Even if you undo
  1466. the  effect  of the change by editing, JOVE still knows that "the
  1467. buffer has been changed".  You can  tell  JOVE  to  pretend  that
  1468. there  have  been no changes with the ESC ~ command (_m_a_k_e-_b_u_f_f_e_r-
  1469. _u_n_m_o_d_i_f_i_e_d).  This command  simply  clears  the  "modified"  flag
  1470. which  says  that  the  buffer  contains changes which need to be
  1471. saved.  Even if the buffer really _i_s changed JOVE will still  act
  1472. as if it were not.
  1473.  
  1474. If JOVE is about to save a file and sees that  the  date  of  the
  1475. version on disk does not match what JOVE last read or wrote, JOVE
  1476. notifies you of this fact, and asks  what  to  do,  because  this
  1477. probably  means  that  something is wrong.  For example, somebody
  1478. else may have been editing the same file.  If this is  so,  there
  1479. is  a  good chance that your work or his work will be lost if you
  1480. don't take the proper steps.  You should first find  out  exactly
  1481. what  is going on.  If you determine that somebody else has modi-
  1482. fied the file, save your file under a different filename and then
  1483. DIFF  the  two  files  to  merge  the  two sets of changes.  (The
  1484. "patch" command is useful for applying  the  results  of  context
  1485. diffs directly).  Also get in touch with the other person so that
  1486. the files don't diverge any further.
  1487.  
  1488. _9._2.  _H_o_w _t_o _U_n_d_o _D_r_a_s_t_i_c _C_h_a_n_g_e_s _t_o _a _F_i_l_e
  1489.  
  1490. If you have made several extensive changes to  a  file  and  then
  1491. change  your mind about them, and you haven't yet saved them, you
  1492. can get rid of them by reading in the  previous  version  of  the
  1493. file.   You  can  do  this with the C-X C-V command, to visit the
  1494. unsaved version of the file.
  1495.  
  1496. _9._3.  _R_e_c_o_v_e_r_i_n_g _f_r_o_m _s_y_s_t_e_m/_e_d_i_t_o_r _c_r_a_s_h_e_s
  1497.  
  1498. JOVE does not have _A_u_t_o _S_a_v_e mode, but it does provide a  way  to
  1499. recover your work in the event of a system or editor crash.  JOVE
  1500. saves information about the files you're editing  every  so  many
  1501. changes  to  a  buffer  to make recovery possible.  Since a rela-
  1502. tively small amount of information is involved it's  hardly  even
  1503. noticeable  when  JOVE  does this.  The variable "sync-frequency"
  1504. says how often to save the necessary information, and the default
  1505. is  every 50 changes.  50 is a very reasonable number: if you are
  1506. writing a paper you will not lose more than the last  50  charac-
  1507. ters you typed, which is less than the average length of a line.
  1508.  
  1509. _9._4.  _M_i_s_c_e_l_l_a_n_e_o_u_s _F_i_l_e _O_p_e_r_a_t_i_o_n_s
  1510.  
  1511.  
  1512. ESC X _w_r_i_t_e-_f_i_l_e <file><return> writes the contents of the buffer
  1513.  
  1514.  
  1515.  
  1516.                         February 24, 1988
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. USD:17-24                              JOVE Manual for UNIX Users
  1523.  
  1524.  
  1525. into  the  file  <file>,  and  then  visits that file.  It can be
  1526. thought of as a way of "changing the name" of the  file  you  are
  1527. visiting.   Unlike  C-X  C-S, _w_r_i_t_e-_f_i_l_e saves even if the buffer
  1528. has not been changed.  C-X C-W is another  way  of  getting  this
  1529. command.
  1530.  
  1531. ESC X _i_n_s_e_r_t-_f_i_l_e <file><return> inserts the contents  of  <file>
  1532. into the buffer at point, leaving point unchanged before the con-
  1533. tents.  You can also use C-X C-I to get this command.
  1534.  
  1535. ESC X _w_r_i_t_e-_r_e_g_i_o_n <file><return> writes  the  region  (the  text
  1536. between  point  and mark) to the specified file.  It does not set
  1537. the visited filename.  The buffer is not changed.
  1538.  
  1539. ESC X _a_p_p_e_n_d-_r_e_g_i_o_n <file><return> appends the region to  <file>.
  1540. The text is added to the end of <file>.
  1541.  
  1542. _1_0.  _U_s_i_n_g _M_u_l_t_i_p_l_e _B_u_f_f_e_r_s
  1543.  
  1544. When we speak of "the buffer", which contains the  text  you  are
  1545. editing, we have given the impression that there is only one.  In
  1546. fact, there may be many of them, each with its own body of  text.
  1547. At  any  time  only  one buffer can be _s_e_l_e_c_t_e_d and available for
  1548. editing, but it isn't hard to switch to a  different  one.   Each
  1549. buffer  individually  remembers  which  file it is visiting, what
  1550. modes are in effect, and whether there are any changes that  need
  1551. saving.
  1552.  
  1553. C-X B          Select or create a buffer.
  1554.  
  1555. C-X C-F        Visit a file in its own buffer.
  1556.  
  1557. C-X C-B        List the existing buffers.
  1558.  
  1559. C-X K          Kill a buffer.
  1560.  
  1561. Each buffer in JOVE has a single  name,  which  normally  doesn't
  1562. change.   A  buffer's  name  can  be any length.  The name of the
  1563. currently selected buffer and the name of the file visited in  it
  1564. are  visible in the mode line when you are at top level.  A newly
  1565. started JOVE has only one buffer, named Main, unless  you  speci-
  1566. fied files to edit in the shell command that started JOVE.
  1567.  
  1568. _1_0._1.  _C_r_e_a_t_i_n_g _a_n_d _S_e_l_e_c_t_i_n_g _B_u_f_f_e_r_s
  1569.  
  1570. To create a new buffer, you need only think  of  a  name  for  it
  1571. (say,  FOO)  and  then do C-X B FOO<return>, which is the command
  1572. C-X B (_s_e_l_e_c_t-_b_u_f_f_e_r) followed by the name.  This  makes  a  new,
  1573. empty  buffer  (if  one by that name didn't previously exist) and
  1574. selects it for editing.  The new buffer is not visiting any file,
  1575. so  if  you  try to save it you will be asked for the filename to
  1576. use.  Each buffer has its own major mode; the new buffer's  major
  1577. mode is _T_e_x_t mode by default.
  1578.  
  1579.  
  1580.  
  1581.  
  1582.                         February 24, 1988
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. JOVE Manual for UNIX Users                              USD:17-25
  1589.  
  1590.  
  1591. To return to buffer FOO later after having switched  to  another,
  1592. the  same command C-X B FOO<return> is used, since C-X B can tell
  1593. whether a  buffer  named  FOO  exists  already  or  not.   C-X  B
  1594. Main<return>  reselects  the  buffer  Main  that JOVE started out
  1595. with.   Just  C-X  B<return>  reselects  the   previous   buffer.
  1596. Repeated  C-X  B<return>'s alternate between the last two buffers
  1597. selected.
  1598.  
  1599. You can also read a file into its own newly created  buffer,  all
  1600. with  one command: C-X C-F (_f_i_n_d-_f_i_l_e), followed by the filename.
  1601. The name of the buffer is the last element of  the  file's  path-
  1602. name.   C-F  stands  for  "Find",  because  if the specified file
  1603. already resides  in  a  buffer  in  your  JOVE,  that  buffer  is
  1604. reselected.   So  you  need not remember whether you have brought
  1605. the file in already or not.  A buffer created by C-X C-F  can  be
  1606. reselected  later  with C-X B or C-X C-F, whichever you find more
  1607. convenient.  Nonexistent files can be created with C-X  C-F  just
  1608. as they can with C-X C-V.
  1609.  
  1610. _1_0._2.  _U_s_i_n_g _E_x_i_s_t_i_n_g _B_u_f_f_e_r_s
  1611.  
  1612. To get a list of all the buffers that exist, do  C-X  C-B  (_l_i_s_t-
  1613. _b_u_f_f_e_r_s).   Each  buffer's  type,  name,  and visited filename is
  1614. printed.  An asterisk before the buffer name indicates  a  buffer
  1615. which  contains changes that have not been saved. The number that
  1616. appears at the beginning of a line in a C-X C-B listing  is  that
  1617. buffer's  _b_u_f_f_e_r  _n_u_m_b_e_r.   You can select a buffer by typing its
  1618. number in place of its  name.   If  a  buffer  with  that  number
  1619. doesn't  already  exist, a new buffer is created with that number
  1620. as its name.
  1621.  
  1622. If several buffers have modified text in them,  you  should  save
  1623. some of them with C-X C-M (_w_r_i_t_e-_m_o_d_i_f_i_e_d-_f_i_l_e_s).  This finds all
  1624. the buffers that need saving and then  saves  them.   Saving  the
  1625. buffers  this  way  is  much  easier and more efficient (but more
  1626. dangerous) than selecting each one and typing C-X  C-S.   If  you
  1627. give  C-X  C-M an argument, JOVE will ask for confirmation before
  1628. saving each buffer.
  1629.  
  1630. ESC X _r_e_n_a_m_e-_b_u_f_f_e_r <new name><return> changes the  name  of  the
  1631. currently selected buffer.
  1632.  
  1633. ESC X _e_r_a_s_e-_b_u_f_f_e_r <buffer name><return> erases the  contents  of
  1634. the <buffer name> without deleting the buffer entirely.
  1635.  
  1636. _1_0._3.  _K_i_l_l_i_n_g _B_u_f_f_e_r_s
  1637.  
  1638. After you use a JOVE for a while, it may  fill  up  with  buffers
  1639. which you no longer need.  Eventually you can reach a point where
  1640. trying to create any more results in an "out of memory"  or  "out
  1641. of  lines"  error.   When this happens you will want to kill some
  1642. buffers with the C-X K (_d_e_l_e_t_e-_b_u_f_f_e_r) command.  You can kill the
  1643. buffer  FOO  by  doing  C-X  K  FOO<return>.   If  you type C-X K
  1644. <return> JOVE will kill the previously selected buffer.   If  you
  1645.  
  1646.  
  1647.  
  1648.                         February 24, 1988
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. USD:17-26                              JOVE Manual for UNIX Users
  1655.  
  1656.  
  1657. try  to kill a buffer that needs saving JOVE will ask you to con-
  1658. firm it.
  1659.  
  1660. If you need to kill several buffers, use the  command  _k_i_l_l-_s_o_m_e-
  1661. _b_u_f_f_e_r_s.   This prompts you with the name of each buffer and asks
  1662. for confirmation before killing that buffer.
  1663.  
  1664. _1_1.  _C_o_n_t_r_o_l_l_i_n_g _t_h_e _D_i_s_p_l_a_y
  1665.  
  1666. Since only part of a large file will  fit  on  the  screen,  JOVE
  1667. tries  to  show  the  part that is likely to be interesting.  The
  1668. display control commands allow you to see a different part of the
  1669. file.
  1670.  
  1671. C-L            Reposition point at a specified vertical position,
  1672.                OR  clear  and redraw the screen with point in the
  1673.                same place.
  1674.  
  1675. C-V            Scroll forwards (a screen or a few lines).
  1676.  
  1677. ESC V          Scroll backwards.
  1678.  
  1679. C-Z            Scroll forward some lines.
  1680.  
  1681. ESC Z          Scroll backwards some lines.
  1682.  
  1683.  
  1684. The terminal screen is rarely large enough to display all of your
  1685. file.   If the whole buffer doesn't fit on the screen, JOVE shows
  1686. a contiguous portion of it, containing _p_o_i_n_t.   It  continues  to
  1687. show  approximately the same portion until point moves outside of
  1688. what is displayed; then  JOVE  chooses  a  new  portion  centered
  1689. around  the  new  _p_o_i_n_t.  This is JOVE's guess as to what you are
  1690. most interested in seeing, but if the guess is wrong, you can use
  1691. the  display  control  commands  to see a different portion.  The
  1692. available screen area through which  you  can  see  part  of  the
  1693. buffer  is  called  _t_h_e  _w_i_n_d_o_w,  and  the choice of where in the
  1694. buffer to start displaying is  also  called  _t_h_e  _w_i_n_d_o_w.   (When
  1695. there  is  only  one  window, it plus the mode line and the input
  1696. line take up the whole screen).
  1697.  
  1698. First we describe how JOVE chooses a new window position  on  its
  1699. own.   The  goal is usually to place _p_o_i_n_t half way down the win-
  1700. dow.  This is controlled by the variable _s_c_r_o_l_l-_s_t_e_p, whose value
  1701. is  the  number of lines above the bottom or below the top of the
  1702. window that the line containing point is placed.  A  value  of  0
  1703. (the initial value) means center _p_o_i_n_t in the window.
  1704.  
  1705. The basic display control command is  C-L  (_r_e_d_r_a_w-_d_i_s_p_l_a_y).   In
  1706. its  simplest  form,  with no argument, it tells JOVE to choose a
  1707. new window position, centering point half way  from  the  top  as
  1708. usual.
  1709.  
  1710. C-L with a positive argument chooses a new window so  as  to  put
  1711.  
  1712.  
  1713.  
  1714.                         February 24, 1988
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. JOVE Manual for UNIX Users                              USD:17-27
  1721.  
  1722.  
  1723. point  that  many  lines  from the top.  An argument of zero puts
  1724. point on the very top line.  Point does not move with respect  to
  1725. the text; rather, the text and point move rigidly on the screen.
  1726.  
  1727. If point stays on the same line, the window is first cleared  and
  1728. then  redrawn.   Thus, two C-L's in a row are guaranteed to clear
  1729. the current window.  ESC C-L will clear  and  redraw  the  entire
  1730. screen.
  1731.  
  1732. The _s_c_r_o_l_l_i_n_g commands C-V, ESC V, C-Z, and ESC Z, let  you  move
  1733. the  whole  display up or down a few lines.  C-V (_n_e_x_t-_p_a_g_e) with
  1734. an argument shows you that many more lines at the bottom  of  the
  1735. screen,  moving the text and point up together as C-L might.  C-V
  1736. with a negative argument shows you more lines at the top  of  the
  1737. screen, as does ESC V (_p_r_e_v_i_o_u_s-_p_a_g_e) with a positive argument.
  1738.  
  1739. To read the buffer a window at a time, use the C-V  command  with
  1740. no  argument.  It takes the last line at the bottom of the window
  1741. and puts it at the top, followed by  nearly  a  whole  window  of
  1742. lines not visible before.  Point is put at the top of the window.
  1743. Thus, each C-V shows the "next page of text", except for one line
  1744. of  overlap  to  provide  context.   To  move backward, use ESC V
  1745. without an argument, which moves a whole window backwards  (again
  1746. with a line of overlap).
  1747.  
  1748. C-Z and ESC Z scroll one line  forward  and  one  line  backward,
  1749. respectively.   These are convenient for moving in units of lines
  1750. without having to type a numeric argument.
  1751.  
  1752. _1_1._1.  _M_u_l_t_i_p_l_e _W_i_n_d_o_w_s
  1753.  
  1754. JOVE allows you to split the screen into two or more _w_i_n_d_o_w_s  and
  1755. use  them to display parts of different files, or different parts
  1756. of the same file.
  1757.  
  1758. C-X 2          Divide the current window into two smaller ones.
  1759.  
  1760. C-X 1          Delete all windows but the current one.
  1761.  
  1762. C-X D          Delete current window.
  1763.  
  1764. C-X N          Switch to the next window.
  1765.  
  1766. C-X P          Switch to the previous window.
  1767.  
  1768. C-X O          Same as C-X P.
  1769.  
  1770. C-X ^          Make this window bigger.
  1771.  
  1772. ESC C-V        Scroll the other window.
  1773.  
  1774.  
  1775. When using _m_u_l_t_i_p_l_e _w_i_n_d_o_w mode, the text portion of  the  screen
  1776. is  divided into separate parts called _w_i_n_d_o_w_s, which can display
  1777.  
  1778.  
  1779.  
  1780.                         February 24, 1988
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786. USD:17-28                              JOVE Manual for UNIX Users
  1787.  
  1788.  
  1789. different pieces of text.   Each  window  can  display  different
  1790. files,  or  parts  of  the same file.  Only one of the windows is
  1791. _a_c_t_i_v_e; that is the window which the cursor is in.  Editing  nor-
  1792. mally  takes place in that window alone.  To edit in another win-
  1793. dow, you would give a command to move the  cursor  to  the  other
  1794. window, and then edit there.
  1795.  
  1796. Each window displays a mode line for the buffer it's  displaying.
  1797. This  is  useful  to  keep track of which window corresponds with
  1798. which file.  In addition, the mode line  serves  as  a  separator
  1799. between  windows.   By  setting  the  variable  _m_o_d_e-_l_i_n_e-_s_h_o_u_l_d-
  1800. _s_t_a_n_d_o_u_t to "on" you can  have  JOVE  display  the  mode-line  in
  1801. reverse  video (assuming your particular terminal has the reverse
  1802. video capability).
  1803.  
  1804. The command C-X 2 (_s_p_l_i_t-_c_u_r_r_e_n_t-_w_i_n_d_o_w) enters  multiple  window
  1805. mode.   A  new mode line appears across the middle of the screen,
  1806. dividing the text display area into  two  halves.   Both  windows
  1807. contain  the  same  buffer  and  display the same position in it,
  1808. namely where point was at the time you issued the  command.   The
  1809. cursor moves to the second window.
  1810.  
  1811. To return to viewing only one  window,  use  the  command  C-X  1
  1812. (_d_e_l_e_t_e-_o_t_h_e_r-_w_i_n_d_o_w_s).   The  current window expands to fill the
  1813. whole screen, and the other windows disappear until the next  C-X
  1814. 2.   (The buffers and their contents are unaffected by any of the
  1815. window operations).
  1816.  
  1817. While there is more than one window, you can  use  C-X  N  (_n_e_x_t-
  1818. _w_i_n_d_o_w) to switch to the next window, and C-X P (_p_r_e_v_i_o_u_s-_w_i_n_d_o_w)
  1819. to switch to the previous one.  If you are in the  bottom  window
  1820. and you type C-X N, you will be placed in the top window, and the
  1821. same kind of thing happens when you type C-X P in the top window,
  1822. namely  you  will  be  placed in the bottom window.  C-X O is the
  1823. same as C-X P.  It stands for "other window" because  when  there
  1824. are  only  two  windows, repeated use of this command will switch
  1825. between the two windows.
  1826.  
  1827. Often you will be editing one window while using the  other  just
  1828. for  reference.   Then, the command ESC C-V (_p_a_g_e-_n_e_x_t-_w_i_n_d_o_w) is
  1829. very useful.  It scrolls the next window, as if you  switched  to
  1830. the  next window, typed C-V, and switched back, without your hav-
  1831. ing to do all that.  With a negative argument, ESC C-V will do an
  1832. ESC V in the next window.
  1833.  
  1834. When a window splits, both  halves  are  approximately  the  same
  1835. size.   You can redistribute the screen space between the windows
  1836. with the C-X ^ (_g_r_o_w-_w_i_n_d_o_w) command.   It  makes  the  currently
  1837. selected  window  grow  one  line  bigger, or as many lines as is
  1838. specified with a numeric argument.  Use ESC  X  _s_h_r_i_n_k-_w_i_n_d_o_w  to
  1839. make the current window smaller.
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.                         February 24, 1988
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852. JOVE Manual for UNIX Users                              USD:17-29
  1853.  
  1854.  
  1855. _1_1._2.  _M_u_l_t_i_p_l_e _W_i_n_d_o_w_s _a_n_d _M_u_l_t_i_p_l_e _B_u_f_f_e_r_s
  1856.  
  1857. Buffers can be selected independently in each window.  The C-X  B
  1858. command  selects  a  new  buffer in whichever window contains the
  1859. cursor.  Other windows' buffers do not change.
  1860.  
  1861. You can view the same buffer in more than one  window.   Although
  1862. the  same  buffer  appears  in  both windows, they have different
  1863. values of point, so you can move around in one window  while  the
  1864. other window continues to show the same text.  Then, having found
  1865. one place you wish to refer to, you can go back  into  the  other
  1866. window with C-X O or C-X P to make your changes.
  1867.  
  1868. If you have the same buffer in both windows, you must  beware  of
  1869. trying  to  visit a different file in one of the windows with C-X
  1870. C-V, because if you bring a new file into this  buffer,  it  will
  1871. replaced  the  old file in _b_o_t_h windows.  To view different files
  1872. in different windows, you must switch buffers in one of the  win-
  1873. dows first (with C-X B or C-X C-F, perhaps).
  1874.  
  1875. A convenient  "combination"  command  for  viewing  something  in
  1876. another window is C-X 4 (_w_i_n_d_o_w-_f_i_n_d).  With this command you can
  1877. ask to see any specified buffer, file or tag in the other window.
  1878. Follow  the  C-X  4  with  either  B  and  a buffer name, F and a
  1879. filename, or T and a tag name.  This switches to the other window
  1880. and  finds  there  what you specified.  If you were previously in
  1881. one-window mode, multiple-window mode is entered.   C-X  4  B  is
  1882. similar  to  C-X  2  C-X B.  C-X 4 F is similar to C-X 2 C-X C-F.
  1883. C-X 4 T is similar to C-X 2 C-X T.   The  difference  is  one  of
  1884. efficiency,  and  also  that  C-X 4 works equally well if you are
  1885. already using two windows.
  1886.  
  1887. _1_2.  _P_r_o_c_e_s_s_e_s _U_n_d_e_r _J_O_V_E
  1888.  
  1889. Another feature in JOVE is its ability to interact with UNIX in a
  1890. useful  way.  You can run other UNIX commands from JOVE and catch
  1891. their output in JOVE buffers.  In this chapter  we  will  discuss
  1892. the different ways to run and interact with UNIX commands.
  1893.  
  1894. _1_2._1.  _N_o_n-_i_n_t_e_r_a_c_t_i_v_e _U_N_I_X _c_o_m_m_a_n_d_s
  1895.  
  1896. To run a UNIX command from JOVE just type "C-X !" followed by the
  1897. name  of the command terminated with Return.  For example, to get
  1898. a list of all the users on the system, you do:
  1899.  
  1900.         C-X ! who<return>
  1901.  
  1902. Then JOVE picks a reasonable buffer in which the output from  the
  1903. command  will  be  placed.  E.g., "who" uses a buffer called who;
  1904. "ps alx" uses ps; and "fgrep -n foo *.c"  uses  fgrep.   If  JOVE
  1905. wants to use a buffer that already exists it first erases the old
  1906. contents.  If the buffer it selects holds a file, not output from
  1907. a  previous shell command, you must first delete that buffer with
  1908. C-X K.
  1909.  
  1910.  
  1911.  
  1912.                         February 24, 1988
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918. USD:17-30                              JOVE Manual for UNIX Users
  1919.  
  1920.  
  1921. Once JOVE has picked a buffer it puts that buffer in a window  so
  1922. you  can  see the command's output as it is running.  If there is
  1923. only one window JOVE will automatically make another one.  Other-
  1924. wise,  JOVE  tries to pick the most convenient window which isn't
  1925. the current one.
  1926.  
  1927. It's not a good idea to type anything while the command  is  run-
  1928. ning.  There are two reasons for this:
  1929.  
  1930. (i)  JOVE won't see the  characters  (thus  won't  execute  them)
  1931.      until  the  command  finishes, so you may forget what you've
  1932.      typed.
  1933.  
  1934. (ii) Although JOVE won't know what you've  typed,  it  _w_i_l_l  know
  1935.      that  you've  typed  something,  and  then it will try to be
  1936.      "smart" and not update the display  until  it's  interpreted
  1937.      what  you've  typed.   But,  of course, JOVE won't interpret
  1938.      what you type until the UNIX command  completes,  so  you're
  1939.      left  with  the  uneasy  feeling you get when you don't know
  1940.      what the hell the computer is doing*.
  1941.  
  1942. If you want to interrupt the command for some reason (perhaps you
  1943. mistyped  it, or you changed your mind) you can type C-].  Typing
  1944. this inside JOVE while a process is running is the same as typing
  1945. C-C  when  you  are  outside  JOVE, namely the process stops in a
  1946. hurry.
  1947.  
  1948. When the command finishes, JOVE puts you back in  the  window  in
  1949. which  you  started.  Then it prints a message indicating whether
  1950. or not the command completed successfully in its (the  command's)
  1951. opinion.   That is, if the command had what it considers an error
  1952. (or you interrupt it with C-]) JOVE  will  print  an  appropriate
  1953. message.
  1954.  
  1955.  
  1956. _1_2._2.  _L_i_m_i_t_a_t_i_o_n_s _o_f _N_o_n-_I_n_t_e_r_a_c_t_i_v_e _P_r_o_c_e_s_s_e_s
  1957.  
  1958. The reason these are called non-interactive processes is that you
  1959. can't  type any input to them; you can't interact with them; they
  1960. can't ask you questions because  there  is  no  way  for  you  to
  1961. answer.   For  example,  you  can't  run a command interpreter (a
  1962. shell), or _m_a_i_l or _c_r_y_p_t with C-X ! because there is  no  way  to
  1963. provide  it  with  input.  Remember that JOVE (not the process in
  1964. the window) is listening to your keyboard, and JOVE  waits  until
  1965. the process dies before it looks at what you type.
  1966.  
  1967. C-X ! is useful for running commands that do some output and then
  1968. exit.   For  example, it's very useful to use with the C compiler
  1969. to catch compilation error messages (see Compiling  C  Programs),
  1970. or with the _g_r_e_p commands.
  1971. _________________________
  1972. *This is a bug and should be fixed, but probably  won't
  1973. be for a while.
  1974.  
  1975.  
  1976.  
  1977.  
  1978.                         February 24, 1988
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984. JOVE Manual for UNIX Users                              USD:17-31
  1985.  
  1986.  
  1987. _1_2._3.  _I_n_t_e_r_a_c_t_i_v_e _P_r_o_c_e_s_s_e_s - _R_u_n _a _S_h_e_l_l _i_n _a _W_i_n_d_o_w
  1988.  
  1989. Some versions of JOVE have the capability of running  interactive
  1990. processes.   This  is  more useful than non-interactive processes
  1991. for certain types of jobs:
  1992.  
  1993. (i)  You can go off and do some editing while the command is run-
  1994.      ning.   This  is useful for commands that do sporadic output
  1995.      and run for fairly long periods of time.
  1996.  
  1997. (ii) Unlike non-interactive processes,  you  can  type  input  to
  1998.      these.   In  addition,  you  can edit what you type with the
  1999.      power of all the JOVE commands _b_e_f_o_r_e you send the input  to
  2000.      the  process.   This  is  a really important feature, and is
  2001.      especially useful for running a shell in a window.
  2002.  
  2003. (iii)Because you can continue with normal editing  while  one  of
  2004.      the processes is running, you can create a bunch of contexts
  2005.      and manage them (select them, delete  them,  or  temporarily
  2006.      put them aside) with JOVE's window and buffer mechanisms.
  2007.  
  2008. Although we may have given an image of processes  being  attached
  2009. to  _w_i_n_d_o_w_s,  in  fact  they are attached to _b_u_f_f_e_r_s.  Therefore,
  2010. once an _i-_p_r_o_c_e_s_s is running you can select another  buffer  into
  2011. that window, or if you wish you can delete the window altogether.
  2012. If you reselect that buffer later it will be up  to  date.   That
  2013. is,  even though the buffer wasn't visible it was still receiving
  2014. output from the process.  You don't have to worry  about  missing
  2015. anything when the buffer isn't visible.
  2016.  
  2017. _1_2._4.  _A_d_v_a_n_t_a_g_e_s _o_f _R_u_n_n_i_n_g _P_r_o_c_e_s_s_e_s _i_n _J_O_V_E _W_i_n_d_o_w_s.
  2018.  
  2019. There are several advantages to running  a  shell  in  a  window.
  2020. What you type isn't seen immediately by the process; instead JOVE
  2021. waits until you type an entire line before passing it on  to  the
  2022. process to read.  This means that before you type <return> all of
  2023. JOVE's editing capabilities are available for  fixing  errors  on
  2024. your  input  line.   If you discover an error at the beginning of
  2025. the line, rather than erasing the whole line and  starting  over,
  2026. you  can simply move to the error, correct it, move back and con-
  2027. tinue typing.
  2028.  
  2029. Another feature is that you have the entire history of your  ses-
  2030. sion in a JOVE buffer.  You don't have to worry about output from
  2031. a command moving past the top of the screen.  If you missed  some
  2032. output  you  can  move  back through it with ESC V and other com-
  2033. mands.  In addition, you can save yourself retyping a command (or
  2034. a  similar  one) by sending edited versions of previous commands,
  2035. or edit the output of one command to become a list of commands to
  2036. be executed ("immediate shell scripts").
  2037.  
  2038. _________________________
  2039.  For example, the version provided with 4.3BSD.
  2040.  
  2041.  
  2042.  
  2043.  
  2044.                         February 24, 1988
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050. USD:17-32                              JOVE Manual for UNIX Users
  2051.  
  2052.  
  2053. _1_2._5.  _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _N_o_r_m_a_l _a_n_d _I-_p_r_o_c_e_s_s _B_u_f_f_e_r_s
  2054.  
  2055. JOVE behaves differently in several ways when you are  in  an  _i-
  2056. _p_r_o_c_e_s_s  buffer.   Most obviously, <return> does different things
  2057. depending on both your position in the buffer and on the state of
  2058. the process.  In the normal case, when point is at the end of the
  2059. buffer, Return  does  what  you'd  expect:  it  inserts  a  line-
  2060. separator  and  then  sends  the line to the process.  If you are
  2061. somewhere else in the buffer, possibly positioned at  a  previous
  2062. command  that  you want to edit, Return will place a copy of that
  2063. line (with the prompt discarded if there is one) at  the  end  of
  2064. the  buffer  and  move you there.  Then you can edit the line and
  2065. type Return as in the normal case.  If the process has  died  for
  2066. some reason, Return does nothing.  It doesn't even insert itself.
  2067. If that  happens  unexpectedly,  you  should  type  ESC  X  _l_i_s_t-
  2068. _p_r_o_c_e_s_s_e_s<return>  to  get  a list of each process and its state.
  2069. If your process died abnormally, _l_i_s_t-_p_r_o_c_e_s_s_e_s may help you fig-
  2070. ure out why.
  2071.  
  2072. _1_2._6.  _H_o_w _t_o _R_u_n _a _S_h_e_l_l _i_n _a _W_i_n_d_o_w
  2073.  
  2074. Type ESC X _s_h_e_l_l<return> to start up a shell.   As  with  C-X  !,
  2075. JOVE  will create a buffer, called *shell*-1, and select a window
  2076. for this new buffer.  But unlike C-X ! you will be  left  in  the
  2077. new  window.   Now,  the  shell process is said to be attached to
  2078. shell-1.
  2079.  
  2080. _1_3.  _D_i_r_e_c_t_o_r_y _H_a_n_d_l_i_n_g
  2081.  
  2082. To save having to use absolute pathnames when you want to edit  a
  2083. nearby  file  JOVE  allows you to move around the UNIX filesystem
  2084. just as the c-shell does.  These commands are:
  2085.  
  2086. cd dir         Change to the specified directory.
  2087.  
  2088. pushd [dir]    Like _c_d, but save the old directory on the  direc-
  2089.                tory  stack.   With  no directory argument, simply
  2090.                exchange the top two directories on the stack  and
  2091.                _c_d to the new top.
  2092.  
  2093. popd           Take the current directory off the stack and _c_d to
  2094.                the directory now at the top.
  2095.  
  2096. dirs           Display the contents of the directory stack.
  2097.  
  2098. The names and behavior of these commands  were  chosen  to  mimic
  2099. those in the c-shell.
  2100.  
  2101. _1_4.  _E_d_i_t_i_n_g _C _P_r_o_g_r_a_m_s
  2102.  
  2103. This section details the support provided by JOVE for working  on
  2104. C programs.
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.                         February 24, 1988
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116. JOVE Manual for UNIX Users                              USD:17-33
  2117.  
  2118.  
  2119. _1_4._1.  _I_n_d_e_n_t_a_t_i_o_n _C_o_m_m_a_n_d_s
  2120.  
  2121. To save having to lay out C programs "by hand", JOVE has an  idea
  2122. of  the  correct  indentation of a line, based on the surrounding
  2123. context.  When you are in C Mode, JOVE treats  tabs  specially  -
  2124. typing  a tab at the beginning of a new line means "indent to the
  2125. right place".  Closing braces are also handled specially, and are
  2126. indented to match the corresponding open brace.
  2127.  
  2128. _1_4._2.  _P_a_r_e_n_t_h_e_s_i_s _a_n_d _B_r_a_c_e _M_a_t_c_h_i_n_g
  2129.  
  2130. To check that parentheses and braces match the way you think they
  2131. do, turn on _S_h_o_w _M_a_t_c_h mode (ESC X show-match-mode).  Then, when-
  2132. ever you type a close brace  or  parenthesis,  the  cursor  moves
  2133. momentarily  to  the  matching opener, if it's currently visible.
  2134. If it's not visible, JOVE displays the line containing the match-
  2135. ing opener on the message line.
  2136.  
  2137. _1_4._3.  _C _T_a_g_s
  2138.  
  2139. Often when you are editing a C program, especially someone else's
  2140. code, you see a function call and wonder what that function does.
  2141. You then search for the function within the current file  and  if
  2142. you're lucky find the definition, finally returning to the origi-
  2143. nal spot when you are done.  However, if are unlucky,  the  func-
  2144. tion  turns  out to be external (defined in another file) and you
  2145. have to suspend the edit, _g_r_e_p for the function name in every  .c
  2146. that might contain it, and finally visit the appropriate file.
  2147.  
  2148. To avoid this diversion or the need to remember which function is
  2149. defined  in  which  file,  Berkeley  UNIX  has  a  program called
  2150. _c_t_a_g_s(_1), which takes a set of source files and looks  for  func-
  2151. tion definitions, producing a file called _t_a_g_s as its output.
  2152.  
  2153. JOVE has a command called C-X T (_f_i_n_d-_t_a_g) that prompts  you  for
  2154. the name of a function (a _t_a_g), looks up the tag reference in the
  2155. previously constructed tags file, then visits the file containing
  2156. that tag in a new buffer, with point positioned at the definition
  2157. of the function.  There  is  another  version  of  this  command,
  2158. namely _f_i_n_d-_t_a_g-_a_t-_p_o_i_n_t, that uses the identifier at _p_o_i_n_t.
  2159.  
  2160. So, when you've added new functions to a module,  or  moved  some
  2161. old  ones  around,  run  the _c_t_a_g_s program to regenerate the _t_a_g_s
  2162. file.  JOVE looks in the file specified in the _t_a_g-_f_i_l_e variable.
  2163. The  default  is  "./tags",  that is, the tag file in the current
  2164. directory.  If you wish to use an alternate tag file, you use  C-
  2165. U C-X T, and JOVE will prompt for a file name.  If you find your-
  2166. self specifying the same file again and again, you can  set  _t_a_g-
  2167. _f_i_l_e to that file, and run _f_i_n_d-_t_a_g with no numeric argument.
  2168.  
  2169. To begin an editing session looking for a particular tag, use the
  2170. -_t  _t_a_g command line option to JOVE.  For example, say you wanted
  2171. to look at the file containing the tag _S_k_i_p_C_h_a_r, you would invoke
  2172. JOVE as:
  2173.  
  2174.  
  2175.  
  2176.                         February 24, 1988
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182. USD:17-34                              JOVE Manual for UNIX Users
  2183.  
  2184.  
  2185.  
  2186.         % _j_o_v_e -_t _S_k_i_p_C_h_a_r
  2187.  
  2188.  
  2189. _1_4._4.  _C_o_m_p_i_l_i_n_g _Y_o_u_r _P_r_o_g_r_a_m
  2190.  
  2191. You've typed in a program or altered an existing one and now  you
  2192. want to run it through the compiler to check for errors.  To save
  2193. having to suspend the edit, run the compiler, scribble down error
  2194. messages,  and  then  resume the edit, JOVE allows you to compile
  2195. your code while in the editor.  This is done  with  the  C-X  C-E
  2196. (_c_o_m_p_i_l_e-_i_t)  command.  If you run _c_o_m_p_i_l_e-_i_t with no argument it
  2197. runs the UNIX _m_a_k_e program into a buffer; If you need  a  special
  2198. command  or  want  to pass arguments to _m_a_k_e, run _c_o_m_p_i_l_e-_i_t with
  2199. any argument (C-U is good enough) and you will  be  prompted  for
  2200. the command to execute.
  2201.  
  2202. If any error messages are produced, they are treated specially by
  2203. JOVE.  That treatment is the subject of the next section.
  2204.  
  2205. _1_4._5.  _E_r_r_o_r _M_e_s_s_a_g_e _P_a_r_s_i_n_g _a_n_d _S_p_e_l_l_i_n_g _C_h_e_c_k_i_n_g
  2206.  
  2207. JOVE knows how to interpret the error  messages  from  many  UNIX
  2208. commands;  In particular, the messages from _c_c, _g_r_e_p and _l_i_n_t can
  2209. be understood.  After running the _c_o_m_p_i_l_e-_i_t command, the  _p_a_r_s_e-
  2210. _e_r_r_o_r_s  command  is  automatically executed, and any errors found
  2211. are displayed in a new buffer.  The files whose names  are  found
  2212. in  parsing the error messages are each brought into JOVE buffers
  2213. and the point is positioned at the first error in the first file.
  2214. The  commands  _c_u_r_r_e_n_t-_e_r_r_o_r,  C-X  C-N (_n_e_x_t-_e_r_r_o_r), and C-X C-P
  2215. (_p_r_e_v_i_o_u_s-_e_r_r_o_r) can be used to traverse the list of errors.
  2216.  
  2217. If you already have a file called _e_r_r_s containing,  say,  c  com-
  2218. piler messages then you can get JOVE to interpret the messages by
  2219. invoking it as:
  2220.  
  2221.         % _j_o_v_e -_p _e_r_r_s
  2222.  
  2223.  
  2224. JOVE has a special mechanism for checking the the spelling  of  a
  2225. document; It runs the UNIX spell program into a buffer.  You then
  2226. delete from this buffer all those words  that  are  not  spelling
  2227. errors  and  then  JOVE runs the _p_a_r_s_e-_s_p_e_l_l_i_n_g-_e_r_r_o_r_s command to
  2228. yield a list of errors just as in the last section.
  2229.  
  2230. _1_5.  _S_i_m_p_l_e _C_u_s_t_o_m_i_z_a_t_i_o_n
  2231.  
  2232.  
  2233. _1_5._1.  _M_a_j_o_r _M_o_d_e_s
  2234.  
  2235. To help with editing particular types of file, say a paper or a C
  2236. program, JOVE has several _m_a_j_o_r _m_o_d_e_s.  These are as follows:
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.                         February 24, 1988
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248. JOVE Manual for UNIX Users                              USD:17-35
  2249.  
  2250.  
  2251. _1_5._1._1.  _T_e_x_t _m_o_d_e
  2252.  
  2253. This is the default major mode.  Nothing special is done.
  2254.  
  2255. _1_5._1._2.  _C _m_o_d_e
  2256.  
  2257. This mode affects the behavior of the tab and parentheses charac-
  2258. ters.   Instead  of just inserting the tab, JOVE determines where
  2259. the text "ought" to line up for the C language and tabs  to  that
  2260. position  instead.   The  same thing happens with the close brace
  2261. and close parenthesis; they are tabbed to the "right"  place  and
  2262. then  inserted.   Using the _a_u_t_o-_e_x_e_c_u_t_e-_c_o_m_m_a_n_d command, you can
  2263. make JOVE enter _C _M_o_d_e whenever you edit a file whose  name  ends
  2264. in ._c.
  2265.  
  2266. _1_5._1._3.  _L_i_s_p _m_o_d_e
  2267.  
  2268. This mode is analogous to _C _M_o_d_e, but  performs  the  indentation
  2269. needed  to  lay out Lisp programs properly.  Note also the _g_r_i_n_d-
  2270. _s-_e_x_p_r command that prettyprints an _s-_e_x_p_r_e_s_s_i_o_n  and  the  _k_i_l_l-
  2271. _m_o_d_e-_e_x_p_r_e_s_s_i_o_n command.
  2272.  
  2273. _1_5._2.  _M_i_n_o_r _M_o_d_e_s
  2274.  
  2275. In addition to the major modes, JOVE has a set  of  minor  modes.
  2276. These are as follows:
  2277.  
  2278. _1_5._2._1.  _A_u_t_o _I_n_d_e_n_t
  2279.  
  2280. In this mode, JOVE indents each line the same way as  that  above
  2281. it.   That  is,  the Return key in this mode acts as the Linefeed
  2282. key ordinarily does.
  2283.  
  2284. _1_5._2._2.  _S_h_o_w _M_a_t_c_h
  2285.  
  2286. Move the cursor momentarily to the matching  opening  parenthesis
  2287. when a closing parenthesis is typed.
  2288.  
  2289. _1_5._2._3.  _A_u_t_o _F_i_l_l
  2290.  
  2291. In _A_u_t_o _F_i_l_l mode, a newline is automatically inserted  when  the
  2292. line  length  exceeds the right margin.  This way, you can type a
  2293. whole paper without having to use the Return key.
  2294.  
  2295. _1_5._2._4.  _O_v_e_r _W_r_i_t_e
  2296.  
  2297. In this mode, any text typed in will replace  the  previous  con-
  2298. tents.   (The  default  is for new text to be inserted and "push"
  2299. the old along.) This is useful for editing  an  already-formatted
  2300. diagram  in  which  you want to change some things without moving
  2301. other things around on the screen.
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.                         February 24, 1988
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314. USD:17-36                              JOVE Manual for UNIX Users
  2315.  
  2316.  
  2317. _1_5._2._5.  _W_o_r_d _A_b_b_r_e_v
  2318.  
  2319. In this mode, every word you type is compared to a list  of  word
  2320. abbreviations;  whenever you type an abbreviation, it is replaced
  2321. by the text that it abbreviates.  This can save typing if a  par-
  2322. ticular word or phrase must be entered many times.  The abbrevia-
  2323. tions and their expansions are held in a file that looks like:
  2324.  
  2325.         abbrev:phrase
  2326.  
  2327. This file can be set up in your  ~/._j_o_v_e_r_c  with  the  _r_e_a_d-_w_o_r_d-
  2328. _a_b_b_r_e_v-_f_i_l_e  command.  Then, whenever you are editing a buffer in
  2329. _W_o_r_d _A_b_b_r_e_v mode, JOVE checks for the abbreviations you've given.
  2330. See  also  the commands _r_e_a_d-_w_o_r_d-_a_b_b_r_e_v-_f_i_l_e, _w_r_i_t_e-_w_o_r_d-_a_b_b_r_e_v-
  2331. _f_i_l_e, _e_d_i_t-_w_o_r_d-_a_b_b_r_e_v_s, _d_e_f_i_n_e-_g_l_o_b_a_l-_w_o_r_d-_a_b_b_r_e_v,  _d_e_f_i_n_e-_m_o_d_e-
  2332. _w_o_r_d-_a_b_b_r_e_v,  and  _b_i_n_d-_m_a_c_r_o-_t_o-_w_o_r_d-_a_b_b_r_e_v,  and  the  variable
  2333. _a_u_t_o-_c_a_s_e-_a_b_b_r_e_v.
  2334.  
  2335. _1_5._3.  _V_a_r_i_a_b_l_e_s
  2336.  
  2337. JOVE can be tailored to suit your needs by changing the values of
  2338. variables.   A  JOVE  variable  can be given a value with the _s_e_t
  2339. command, and its value displayed with the _p_r_i_n_t command.
  2340.  
  2341. The variables JOVE understands are listed along with the commands
  2342. in the alphabetical list at the end of this document.
  2343.  
  2344. _1_5._4.  _K_e_y _R_e-_b_i_n_d_i_n_g
  2345.  
  2346. Many of the commands built into JOVE are not  bound  to  specific
  2347. keys.   The  command handler in JOVE is used to invoke these com-
  2348. mands and is activated by  the  _e_x_e_c_u_t_e-_e_x_t_e_n_d_e_d-_c_o_m_m_a_n_d  command
  2349. (ESC  X).   When  the  name of a command typed in is unambiguous,
  2350. that command will be executed.  Since it is very slow to have  to
  2351. type  in  the  name of each command every time it is needed, JOVE
  2352. makes it possible to _b_i_n_d commands to keys.  When  a  command  is
  2353. _b_o_u_n_d  to a key any future hits on that key will invoke that com-
  2354. mand.  All the printing characters are  initially  bound  to  the
  2355. command  _s_e_l_f-_i_n_s_e_r_t.  Thus, typing any printing character causes
  2356. it to be inserted into the text.  Any of  the  existing  commands
  2357. can  be bound to any key.  (A _k_e_y may actually be a _c_o_n_t_r_o_l _c_h_a_r_-
  2358. _a_c_t_e_r or an _e_s_c_a_p_e _s_e_q_u_e_n_c_e as explained previously under _C_o_m_m_a_n_d
  2359. _I_n_p_u_t _C_o_n_v_e_n_t_i_o_n_s).
  2360.  
  2361. Since there are more commands than there are keys, two  keys  are
  2362. treated  as _p_r_e_f_i_x commands.  When a key bound to one of the pre-
  2363. fix commands is typed, the next character typed is interpreted on
  2364. the  basis  that it was preceded by one of the prefix keys.  Ini-
  2365. tially ^X and ESC are the prefix keys and many of  the  built  in
  2366. commands  are  initially  bound to these "two stroke" keys.  (For
  2367. historical reasons, the  Escape  key  is  often  referred  to  as
  2368. "Meta").
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.                         February 24, 1988
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380. JOVE Manual for UNIX Users                              USD:17-37
  2381.  
  2382.  
  2383. _1_5._5.  _K_e_y_b_o_a_r_d _M_a_c_r_o_s
  2384.  
  2385. Although JOVE has many powerful commands, you often find that you
  2386. have  a  task that no individual command can do.  JOVE allows you
  2387. to define your own commands from sequences of existing  ones  "by
  2388. example"; Such a sequence is termed a _m_a_c_r_o.  The procedure is as
  2389. follows: First you type the  _s_t_a_r_t-_r_e_m_e_m_b_e_r_i_n_g  command,  usually
  2390. bound  to  C-X  (.  Next you "perform" the commands which as they
  2391. are being executed are also remembered, which will constitute the
  2392. body  of  the macro.  Then you give the _s_t_o_p-_r_e_m_e_m_b_e_r_i_n_g command,
  2393. usually bound to C-X ).  You now have a _k_e_y_b_o_a_r_d _m_a_c_r_o.   To  run
  2394. this  command  sequence  again, use the command _e_x_e_c_u_t_e-_k_e_y_b_o_a_r_d-
  2395. _m_a_c_r_o, usually bound to C-X E.  You may find this  bothersome  to
  2396. type  and  re-type, so there is a way to bind the macro to a key.
  2397. First, you must give the keyboard macro a name  using  the  _n_a_m_e-
  2398. _k_e_y_b_o_a_r_d-_m_a_c_r_o  command.  Then the binding is made with the _b_i_n_d-
  2399. _m_a_c_r_o-_t_o-_k_e_y command.  We're still not finished because all  this
  2400. hard work will be lost if you leave JOVE.  What you do is to save
  2401. your macros into a file with  the  _w_r_i_t_e-_m_a_c_r_o_s-_t_o-_f_i_l_e  command.
  2402. To  retrieve  your  macros  in  the next editing session (but not
  2403. their bindings), you can simply execute  the  _s_o_u_r_c_e  command  on
  2404. that file.
  2405.  
  2406. _1_5._6.  _I_n_i_t_i_a_l_i_z_a_t_i_o_n _F_i_l_e_s
  2407.  
  2408. Users will likely want to modify  the  default  key  bindings  to
  2409. their liking.  Since it would be quite annoying to have to set up
  2410. the bindings each time JOVE is started up, JOVE has  the  ability
  2411. to  read in a "startup" file.  Whenever JOVE is started, it reads
  2412. commands from the file ._j_o_v_e_r_c  in  the  user's  home  directory.
  2413. These  commands  are  read  as  if they were typed to the command
  2414. handler (ESC X) during an edit.  There can be  only  one  command
  2415. per   line   in   the   startup   file.    If  there  is  a  file
  2416. /_u_s_r/_l_i_b/_j_o_v_e/_j_o_v_e_r_c, then this file  will  be  read  before  the
  2417. user's  ._j_o_v_e_r_c  file.   This can be used to set up a system-wide
  2418. default startup mode for JOVE that is tailored to  the  needs  of
  2419. that system.
  2420.  
  2421. The _s_o_u_r_c_e command can be used to read commands from a  specified
  2422. file  at any time during an editing session, even from inside the
  2423. ._j_o_v_e_r_c file.  This means that a macro can be used to change  the
  2424. key  bindings, e.g., to enter a mode, by reading from a specified
  2425. file which contains all the necessary bindings.
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.                         February 24, 1988
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446. USD:17-38                              JOVE Manual for UNIX Users
  2447.  
  2448.  
  2449. _1_6.  _A_l_p_h_a_b_e_t_i_c_a_l _L_i_s_t _o_f _C_o_m_m_a_n_d_s _a_n_d _V_a_r_i_a_b_l_e_s
  2450.  
  2451. _1_6._1.  _p_r_e_f_i_x-_1 (_E_s_c_a_p_e)
  2452.  
  2453. This reads the next character and runs a  command  based  on  the
  2454. character typed.  If you wait for more than a second or so before
  2455. typing the next character, the message "ESC" will be  printed  on
  2456. the  message  line to remind you that JOVE is waiting for another
  2457. character.
  2458.  
  2459. _1_6._2.  _p_r_e_f_i_x-_2 (_C-_X)
  2460.  
  2461. This reads the next character and runs a  command  based  on  the
  2462. character typed.  If you wait for more than a second or so before
  2463. typing another character, the message "C-X" will  be  printed  on
  2464. the  message  line to remind you that JOVE is waiting for another
  2465. character.
  2466.  
  2467. _1_6._3.  _p_r_e_f_i_x-_3 (_N_o_t _B_o_u_n_d)
  2468.  
  2469. This reads the next character and runs a  command  based  on  the
  2470. character typed.  If you wait for more than a second or so before
  2471. typing the next character, the character  that  invoked  Prefix-3
  2472. will  be  printed  on the message line to remind you that JOVE is
  2473. waiting for another one.
  2474.  
  2475. _1_6._4.  _a_b_o_r_t-_c_h_a_r (_v_a_r_i_a_b_l_e)
  2476.  
  2477. This variable defines JOVE'S  abort  characer.   When  the  abort
  2478. character  is  typed,  the  current JOVE command is aborted.  The
  2479. default value is C-G.
  2480.  
  2481. _1_6._5.  _a_d_d-_l_i_s_p-_s_p_e_c_i_a_l (_N_o_t _B_o_u_n_d)
  2482.  
  2483. This command is to tell JOVE  what  identifiers  require  special
  2484. indentation  in lisp mode.  Lisp functions like defun and let are
  2485. two of the default functions that get treated specially.  This is
  2486. just  a  kludge  to  define some of your own.  It prompts for the
  2487. function name.
  2488.  
  2489. _1_6._6.  _a_l_l_o_w-^_S-_a_n_d-^_Q (_v_a_r_i_a_b_l_e)
  2490.  
  2491. This variable, when set, tells JOVE that your terminal  does  not
  2492. need to use the characters C-S and C-Q for flow control, and that
  2493. it is okay to bind things to them.  This variable should  be  set
  2494. depending upon what kind of terminal you have.
  2495.  
  2496. _1_6._7.  _a_l_l_o_w-_b_a_d-_f_i_l_e_n_a_m_e_s (_v_a_r_i_a_b_l_e)
  2497.  
  2498. If set, this variable permits filenames to contain "bad"  charac-
  2499. ters  such  as  those  from  the set *&%!"`[]{}.  These files are
  2500. harder to deal with, because the characters mean something to the
  2501. shell.  The default value is "off".
  2502.  
  2503.  
  2504.  
  2505.  
  2506.                         February 24, 1988
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512. JOVE Manual for UNIX Users                              USD:17-39
  2513.  
  2514.  
  2515. _1_6._8.  _a_n_s_i-_c_o_d_e_s (_N_o_t _B_o_u_n_d)
  2516.  
  2517. When bound to "ESC [" this makes  the  arrow  keys,  and  various
  2518. other keys on vt100-like terminals do the right thing.  For exam-
  2519. ple, the up arrow key will move to the previous line.
  2520.  
  2521. _1_6._9.  _a_p_p_e_n_d-_r_e_g_i_o_n (_N_o_t _B_o_u_n_d)
  2522.  
  2523. This appends the region to a specified file.  If  the  file  does
  2524. not already exist it is created.
  2525.  
  2526. _1_6._1_0.  _a_p_r_o_p_o_s (_N_o_t _B_o_u_n_d)
  2527.  
  2528. This types out all the commands, variables and  macros  with  the
  2529. specific keyword in their names.  For each command and macro that
  2530. contains the string, the key sequence that can be used to execute
  2531. the  command  or  macro  is  printed; with variables, the current
  2532. value is printed.  So, to find all the commands that are  related
  2533. to windows, you type
  2534.  
  2535.         ESC X apropos window<Return>
  2536.  
  2537.  
  2538. _1_6._1_1.  _a_u_t_o-_c_a_s_e-_a_b_b_r_e_v (_v_a_r_i_a_b_l_e)
  2539.  
  2540. When this variable is on (the default),  word  abbreviations  are
  2541. adjusted for case automatically.  For example, if "jove" were the
  2542. abbreviation for "jonathan's own version of emacs",  then  typing
  2543. "jove"  would  give you "jonathan's own version of emacs", typing
  2544. "Jove" would give you "Jonathan's own version of emacs", and typ-
  2545. ing  "JOVE"  would  give  you  "Jonathan's Own Version of Emacs".
  2546. When this variable is  "off",  upper  and  lower  case  are  dis-
  2547. tinguished  when looking for the abbreviation, i.e., in the exam-
  2548. ple above, "JOVE" and "Jove" would not be  expanded  unless  they
  2549. were defined separately.
  2550.  
  2551. _1_6._1_2.  _a_u_t_o-_e_x_e_c_u_t_e-_c_o_m_m_a_n_d (_N_o_t _B_o_u_n_d)
  2552.  
  2553. This tells JOVE to execute a command automatically  when  a  file
  2554. whose  name  matches  a  specified pattern is visited.  The first
  2555. argument is the command you want executed and  the  second  is  a
  2556. regular  expression  pattern that specifies the files that apply.
  2557. For example, if you want to be in show-match-mode when you edit C
  2558. source  files (that is, files that end with ".c" or ".h") you can
  2559. type
  2560.  
  2561.         ESC X auto-execute-command show-match-mode .*.[ch]$
  2562.  
  2563.  
  2564. _1_6._1_3.  _a_u_t_o-_e_x_e_c_u_t_e-_m_a_c_r_o (_N_o_t _B_o_u_n_d)
  2565.  
  2566. This is like _a_u_t_o-_e_x_e_c_u_t_e-_c_o_m_m_a_n_d except you use  it  to  execute
  2567. macros automatically instead of built-in commands.
  2568.  
  2569.  
  2570.  
  2571.  
  2572.                         February 24, 1988
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578. USD:17-40                              JOVE Manual for UNIX Users
  2579.  
  2580.  
  2581. _1_6._1_4.  _a_u_t_o-_f_i_l_l-_m_o_d_e (_N_o_t _B_o_u_n_d)
  2582.  
  2583. This turns on Auto Fill mode (or off if it's currently on) in the
  2584. selected buffer.  When JOVE is in Auto Fill mode it automatically
  2585. breaks lines for you when you reach the right margin so you don't
  2586. have to remember to hit Return.  JOVE uses 78 as the right margin
  2587. but you can change that by setting the variable  _r_i_g_h_t-_m_a_r_g_i_n  to
  2588. another value.  See the _s_e_t command to learn how to do this.
  2589.  
  2590. _1_6._1_5.  _a_u_t_o-_i_n_d_e_n_t-_m_o_d_e (_N_o_t _B_o_u_n_d)
  2591.  
  2592. This turns on Auto Indent mode (or off if it's currently  on)  in
  2593. the  selected  buffer.   When JOVE is in Auto Indent mode, Return
  2594. indents the new line to the same position as the  line  you  were
  2595. just  on.   This  is  useful  for  lining up C code (or any other
  2596. language (but what else is there besides C?)).  This  is  out  of
  2597. date  because of the new command called _n_e_w_l_i_n_e-_a_n_d-_i_n_d_e_n_t but it
  2598. remains because  of  several  "requests"  on  the  part  of,  uh,
  2599. enthusiastic and excitable users, that it be left as it is.
  2600.  
  2601. _1_6._1_6.  _b_a_c_k_g_r_o_u_n_d-_c_o_l_o_r (_v_a_r_i_a_b_l_e)
  2602.  
  2603. This specifies the background color of  the  screen  (PC  version
  2604. only).  The default value is 0, which stands for black.
  2605.  
  2606. _1_6._1_7.  _b_a_c_k_w_a_r_d-_c_h_a_r_a_c_t_e_r (_C-_B)
  2607.  
  2608. This moves point backward over a single character.  If  point  is
  2609. at  the beginning of the line it moves to the end of the previous
  2610. line.
  2611.  
  2612. _1_6._1_8.  _b_a_c_k_w_a_r_d-_l_i_s_t (_E_S_C _C-_P)
  2613.  
  2614. This moves backward over a list as opposed  to  an  s-expression.
  2615. The  difference  between  this  and _b_a_c_k_w_a_r_d-_s-_e_x_p_r_e_s_s_i_o_n is that
  2616. this first searchs for a ")" and then moves to the matching  "(".
  2617. This  is  useful when you're trying to find unmatched parens in a
  2618. program.
  2619.  
  2620. _1_6._1_9.  _b_a_c_k_w_a_r_d-_p_a_r_a_g_r_a_p_h (_E_S_C [)
  2621.  
  2622. This moves point backward to the beginning of the current or pre-
  2623. vious paragraph.  Paragraphs are bounded by lines that begin with
  2624. a Period or Tab, or by blank lines; a change in  indentation  may
  2625. also  signal  a break between paragraphs, except that JOVE allows
  2626. the first line of a paragraph to be indented differently from the
  2627. other lines.
  2628.  
  2629. _1_6._2_0.  _b_a_c_k_w_a_r_d-_s-_e_x_p_r_e_s_s_i_o_n (_E_S_C _C-_B)
  2630.  
  2631. This moves point backward over a s-expression.  It is  just  like
  2632. _f_o_r_w_a_r_d-_s-_e_x_p_r_e_s_s_i_o_n with a negative argument.
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.                         February 24, 1988
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644. JOVE Manual for UNIX Users                              USD:17-41
  2645.  
  2646.  
  2647. _1_6._2_1.  _b_a_c_k_w_a_r_d-_s_e_n_t_e_n_c_e (_E_S_C _A)
  2648.  
  2649. This moves point backward to the beginning of the current or pre-
  2650. vious  sentence.   JOVE considers the end of a sentence to be the
  2651. characters ".", "!" or "?" followed by a Return or by one or more
  2652. spaces.
  2653.  
  2654. _1_6._2_2.  _b_a_c_k_w_a_r_d-_u_p-_l_i_s_t (_E_S_C _C-_U)
  2655.  
  2656. This is similar to _b_a_c_k_w_a_r_d-_s-_e_x_p_r_e_s_s_i_o_n except it backs  up  and
  2657. OUT  of  the  enclosing  s-expression.   In other words, it moves
  2658. backward to the "(" that would match a ")" if you were to type it
  2659. right then.
  2660.  
  2661. _1_6._2_3.  _b_a_c_k_w_a_r_d-_w_o_r_d (_E_S_C _B)
  2662.  
  2663. This moves point backward to the beginning of the current or pre-
  2664. vious word.
  2665.  
  2666. _1_6._2_4.  _b_a_d-_f_i_l_e_n_a_m_e-_e_x_t_e_n_s_i_o_n_s (_v_a_r_i_a_b_l_e)
  2667.  
  2668. This contains a list of words separated by spaces which are to be
  2669. considered bad filename extensions, and so will not be counted in
  2670. filename completion.  The default is ".o" so if you  have  jove.c
  2671. and  jove.o  in  the same directory, the filename completion will
  2672. not complain of an ambiguity because it will ignore jove.o.
  2673.  
  2674. _1_6._2_5.  _b_e_g_i_n-_k_b_d-_m_a_c_r_o (_C-_X ()
  2675.  
  2676. This starts defining the keyboard macro by remembering  all  your
  2677. key  strokes  until you execute _e_n_d-_k_b_d-_m_a_c_r_o, by typing "C-X )".
  2678. Because of a bug in JOVE you shouldn't  terminate  the  macro  by
  2679. typing "ESC X end-kbd-macro"; _e_n_d-_k_b_d-_m_a_c_r_o must be bound to "C-X
  2680. )" in order to make things work correctly.  To execute the remem-
  2681. bered  key  strokes  you type "C-X E" which runs the _e_x_e_c_u_t_e-_k_b_d-
  2682. _m_a_c_r_o command.  Sometimes you may want a  macro  to  accept  dif-
  2683. ferent  input  each time it runs.  To see how to do this, see the
  2684. _m_a_k_e-_m_a_c_r_o-_i_n_t_e_r_a_c_t_i_v_e command.
  2685.  
  2686. _1_6._2_6.  _b_e_g_i_n_n_i_n_g-_o_f-_f_i_l_e (_E_S_C <)
  2687.  
  2688. This moves point backward to the beginning of the  buffer.   This
  2689. sometimes  prints  the "Point Pushed" message.  If the top of the
  2690. buffer isn't on the screen JOVE will set the mark so you  can  go
  2691. back to where you were if you want.
  2692.  
  2693. _1_6._2_7.  _b_e_g_i_n_n_i_n_g-_o_f-_l_i_n_e (_C-_A)
  2694.  
  2695. This moves point to the beginning of the current line.
  2696.  
  2697. _1_6._2_8.  _b_e_g_i_n_n_i_n_g-_o_f-_w_i_n_d_o_w (_E_S_C ,)
  2698.  
  2699. This moves point to the beginning of  the  current  window.   The
  2700. sequence  "ESC  ,"  is  the  same  as "ESC <" (beginning of file)
  2701.  
  2702.  
  2703.  
  2704.                         February 24, 1988
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710. USD:17-42                              JOVE Manual for UNIX Users
  2711.  
  2712.  
  2713. except without the shift key on the "<", and can thus can  easily
  2714. be remembered.
  2715.  
  2716. _1_6._2_9.  _b_i_n_d-_m_a_c_r_o-_t_o-_k_e_y (_N_o_t _B_o_u_n_d)
  2717.  
  2718. This is like _b_i_n_d-_t_o-_k_e_y except you use  it  to  attach  keys  to
  2719. named macros.
  2720.  
  2721. _1_6._3_0.  _b_i_n_d-_m_a_c_r_o-_t_o-_w_o_r_d-_a_b_b_r_e_v (_N_o_t _B_o_u_n_d)
  2722.  
  2723. This command allows you to bind a macro to a  previously  defined
  2724. word  abbreviation.   Whenever you type the abbreviation, it will
  2725. first be expanded as an abbreviation, and then the macro will  be
  2726. executed.   Note  that  if the macro moves around, you should set
  2727. the mark first (C-@) and then exchange the point  and  mark  last
  2728. (C-X C-X).
  2729.  
  2730. _1_6._3_1.  _b_i_n_d-_t_o-_k_e_y (_N_o_t _B_o_u_n_d)
  2731.  
  2732. This attaches a key to an internal JOVE command  so  that  future
  2733. hits on that key invoke that command.  For example, to make "C-W"
  2734. erase the previous  word,  you  type  "ESC  X  bind-to-key  kill-
  2735. previous-word C-W".
  2736.  
  2737. _1_6._3_2.  _b_u_f_f_e_r-_p_o_s_i_t_i_o_n (_N_o_t _B_o_u_n_d)
  2738.  
  2739. This displays the current file name, current line  number,  total
  2740. number  of lines, percentage of the way through the file, and the
  2741. position of the cursor in the current line.
  2742.  
  2743. _1_6._3_3.  _c-_i_n_d_e_n_t_a_t_i_o_n-_i_n_c_r_e_m_e_n_t (_v_a_r_i_a_b_l_e)
  2744.  
  2745. This variable is not currently used.
  2746.  
  2747. _1_6._3_4.  _c-_m_o_d_e (_N_o_t _B_o_u_n_d)
  2748.  
  2749. This turns on C mode in the currently selected buffer.   This  is
  2750. one  of  currently four possible major modes:  Fundamental, Text,
  2751. C, Lisp.  When in C or Lisp mode, Tab, "}", and ")" behave a lit-
  2752. tle  differently  from  usual:  They  are indented to the "right"
  2753. place for C (or Lisp) programs.  In JOVE, the  "right"  place  is
  2754. simply the way the author likes it (but I've got good taste).
  2755.  
  2756. _1_6._3_5.  _c_a_s_e-_c_h_a_r_a_c_t_e_r-_c_a_p_i_t_a_l_i_z_e (_N_o_t _B_o_u_n_d)
  2757.  
  2758. This capitalizes the character after point, i.e.,  the  character
  2759. under  the  cursor.  If a negative argument is supplied that many
  2760. characters _b_e_f_o_r_e point are upper cased.
  2761.  
  2762. _1_6._3_6.  _c_a_s_e-_i_g_n_o_r_e-_s_e_a_r_c_h (_v_a_r_i_a_b_l_e)
  2763.  
  2764. This variable, when set, tells JOVE to treat upper and lower case
  2765. as  the same when searching.  Thus "jove" and "JOVE" would match,
  2766. and "JoVe"  would  match  either.   The  default  value  of  this
  2767.  
  2768.  
  2769.  
  2770.                         February 24, 1988
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776. JOVE Manual for UNIX Users                              USD:17-43
  2777.  
  2778.  
  2779. variable is "off".
  2780.  
  2781. _1_6._3_7.  _c_a_s_e-_r_e_g_i_o_n-_l_o_w_e_r (_N_o_t _B_o_u_n_d)
  2782.  
  2783. This changes all the upper case letters in the  region  to  their
  2784. lower case equivalent.
  2785.  
  2786. _1_6._3_8.  _c_a_s_e-_r_e_g_i_o_n-_u_p_p_e_r (_N_o_t _B_o_u_n_d)
  2787.  
  2788. This changes all the lower case letters in the  region  to  their
  2789. upper case equivalent.
  2790.  
  2791. _1_6._3_9.  _c_a_s_e-_w_o_r_d-_c_a_p_i_t_a_l_i_z_e (_E_S_C _C)
  2792.  
  2793. This capitalizes the current word by making  the  current  letter
  2794. upper  case and making the rest of the word lower case.  Point is
  2795. moved to the end of the word.  If point is not  positioned  on  a
  2796. word it is first moved forward to the beginning of the next word.
  2797. If a negative argument is supplied that many words  _b_e_f_o_r_e  point
  2798. are  capitalized.   This  is  useful for correcting the word just
  2799. typed without having to move point to the beginning of  the  word
  2800. yourself.
  2801.  
  2802. _1_6._4_0.  _c_a_s_e-_w_o_r_d-_l_o_w_e_r (_E_S_C _L)
  2803.  
  2804. This lower-cases the current word and leaves point at the end  of
  2805. it.   If point is in the middle of a word the rest of the word is
  2806. converted.  If point is not in a word it is first  moved  forward
  2807. to  the  beginning  of  the next word.  If a negative argument is
  2808. supplied that many words _b_e_f_o_r_e  point  are  converted  to  lower
  2809. case.   This is useful for correcting the word just typed without
  2810. having to move point to the beginning of the word yourself.
  2811.  
  2812. _1_6._4_1.  _c_a_s_e-_w_o_r_d-_u_p_p_e_r (_E_S_C _U)
  2813.  
  2814. This upper-cases the current word and leaves point at the end  of
  2815. it.   If point is in the middle of a word the rest of the word is
  2816. converted.  If point is not in a word it is first  moved  forward
  2817. to  the  beginning  of  the next word.  If a negative argument is
  2818. supplied that many words _b_e_f_o_r_e  point  are  converted  to  upper
  2819. case.   This is useful for correcting the word just typed without
  2820. having to move point to the beginning of the word yourself.
  2821.  
  2822. _1_6._4_2.  _c_d (_N_o_t _B_o_u_n_d)
  2823.  
  2824. This changes the current directory.
  2825.  
  2826. _1_6._4_3.  _c_h_a_r_a_c_t_e_r-_t_o-_o_c_t_a_l-_i_n_s_e_r_t (_N_o_t _B_o_u_n_d)
  2827.  
  2828. This inserts a Back-slash followed by the ascii value of the next
  2829. character typed.  For example, "C-G" inserts the string "\007".
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.                         February 24, 1988
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842. USD:17-44                              JOVE Manual for UNIX Users
  2843.  
  2844.  
  2845. _1_6._4_4.  _c_l_e_a_r-_a_n_d-_r_e_d_r_a_w (_E_S_C _C-_L)
  2846.  
  2847. This clears the entire screen and redraws all the  windows.   Use
  2848. this  when JOVE gets confused about what's on the screen, or when
  2849. the screen gets filled with garbage  characters  or  output  from
  2850. another program.
  2851.  
  2852. _1_6._4_5.  _c_o_m_m_e_n_t-_f_o_r_m_a_t (_v_a_r_i_a_b_l_e)
  2853.  
  2854. This variable tells JOVE how to format your comments when you run
  2855. the command _f_i_l_l-_c_o_m_m_e_n_t.  Its format is this:
  2856.  
  2857.         <open pattern>%!<line header>%c<line trailer>%!<close pattern>
  2858.  
  2859. The %!, %c, and %! must appear in the format; everything else  is
  2860. optional.   A  newline (represented by %n) may appear in the open
  2861. or close patterns.  %% is the representation for %.  The  default
  2862. comment format is for C comments.  See _f_i_l_l-_c_o_m_m_e_n_t for more.
  2863.  
  2864. _1_6._4_6.  _c_o_m_p_i_l_e-_i_t (_C-_X _C-_E)
  2865.  
  2866. This compiles your program by running  the  UNIX  command  "make"
  2867. into  a buffer, and automatically parsing the error messages that
  2868. are created (if any).  See the _p_a_r_s_e-_e_r_r_o_r_s command.  To  compile
  2869. a  C  program  without  "make",  use  "C-U C-X C-E" and JOVE will
  2870. prompt for a command to run instead of make.  (And then the  com-
  2871. mand you type will become the default command.)  You can use this
  2872. to parse the output from the C compiler or the "grep"  or  "lint"
  2873. programs.   See  also  _e_r_r_o_r-_f_o_r_m_a_t-_s_t_r_i_n_g to make it possible to
  2874. parse errors of a different format.
  2875.  
  2876. _1_6._4_7.  _c_o_n_t_i_n_u_e-_p_r_o_c_e_s_s (_N_o_t _B_o_u_n_d)
  2877.  
  2878. This sends SIGCONT to the current  interactive  process,  _i_f  the
  2879. process is currently stopped.
  2880.  
  2881. _1_6._4_8.  _c_o_p_y-_r_e_g_i_o_n (_E_S_C _W)
  2882.  
  2883. This takes all the text in the region and copies it onto the kill
  2884. ring  buffer.   This is just like running _k_i_l_l-_r_e_g_i_o_n followed by
  2885. the _y_a_n_k command.  See the _k_i_l_l-_r_e_g_i_o_n and _y_a_n_k commands.
  2886.  
  2887. _1_6._4_9.  _c_u_r_r_e_n_t-_e_r_r_o_r (_N_o_t _B_o_u_n_d)
  2888.  
  2889. This moves to the current error in the  list  of  parsed  errors.
  2890. See  the _n_e_x_t-_e_r_r_o_r and _p_r_e_v_i_o_u_s-_e_r_r_o_r commands for more detailed
  2891. information.
  2892.  
  2893. _1_6._5_0.  _d_a_t_e (_N_o_t _B_o_u_n_d)
  2894.  
  2895. This prints the date on the message line.
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.                         February 24, 1988
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908. JOVE Manual for UNIX Users                              USD:17-45
  2909.  
  2910.  
  2911. _1_6._5_1.  _d_e_f_i_n_e-_g_l_o_b_a_l-_w_o_r_d-_a_b_b_r_e_v (_N_o_t _B_o_u_n_d)
  2912.  
  2913. This defines a global abbreviation.
  2914.  
  2915. _1_6._5_2.  _d_e_f_i_n_e-_m_a_c_r_o (_N_o_t _B_o_u_n_d)
  2916.  
  2917. This provides a different mechanism for defining keyboard macros.
  2918. Instead  of  gathering  keystrokes  and  storing  them  into  the
  2919. "keyboard-macro" (which is how  _s_t_a_r_t-_k_b_d-_m_a_c_r_o  works),  _d_e_f_i_n_e-
  2920. _m_a_c_r_o  prompts  for  a macro name (terminated with Space, or New-
  2921. line) and then for the actual macro body.  If you wish to specify
  2922. control  characters  in  the  macro,  you  may simply insert them
  2923. (using the _q_u_o_t_e_d-_i_n_s_e_r_t command) or by inserting  the  character
  2924. '^'  followed by the appropriate letter for that character (e.g.,
  2925. ^A would be the two characters '^' followed by 'A').  You may use
  2926. Back-slash to prevent the '^' from being interpreted as part of a
  2927. control character when you really wish to  insert  one  (e.g.,  a
  2928. macro  body  "\^foo"  would  insert  the  string  "^foo" into the
  2929. buffer, whereas the body "^foo" would be the same  as  typing  ^F
  2930. and then inserting the string "oo").  See _w_r_i_t_e-_m_a_c_r_o_s-_t_o-_f_i_l_e to
  2931. see how to save macros.
  2932.  
  2933. _1_6._5_3.  _d_e_f_i_n_e-_m_o_d_e-_w_o_r_d-_a_b_b_r_e_v (_N_o_t _B_o_u_n_d)
  2934.  
  2935. This defines a mode-specific abbreviation.
  2936.  
  2937. _1_6._5_4.  _d_e_l_e_t_e-_b_l_a_n_k-_l_i_n_e_s (_C-_X _C-_O)
  2938.  
  2939. This deletes all the blank lines around point.   This  is  useful
  2940. when  you previously opened many lines with "C-O" and now wish to
  2941. delete the unused ones.
  2942.  
  2943. _1_6._5_5.  _d_e_l_e_t_e-_b_u_f_f_e_r (_C-_X _K)
  2944.  
  2945. This deletes a buffer and frees up all the memory associated with
  2946. it.   Be  careful(!)  - once a buffer has been deleted it is gone
  2947. forever.  JOVE will ask you to confirm if you  try  to  delete  a
  2948. buffer  that  needs saving.  This command is useful for when JOVE
  2949. runs out of space to store new buffers.
  2950.  
  2951. _1_6._5_6.  _d_e_l_e_t_e-_c_u_r_r_e_n_t-_w_i_n_d_o_w (_C-_X _D)
  2952.  
  2953. This deletes the current window and moves point into one  of  the
  2954. remaining ones.  It is an error to try to delete the only remain-
  2955. ing window.
  2956.  
  2957. _1_6._5_7.  _d_e_l_e_t_e-_m_a_c_r_o (_N_o_t _B_o_u_n_d)
  2958.  
  2959. This deletes a macro from the list of named  macros.   It  is  an
  2960. error to delete the keyboard-macro.  Once the macro is deleted it
  2961. is gone forever.  If you are about to save macros to a  file  and
  2962. decide you don't want to save a particular one, delete it.
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.                         February 24, 1988
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974. USD:17-46                              JOVE Manual for UNIX Users
  2975.  
  2976.  
  2977. _1_6._5_8.  _d_e_l_e_t_e-_n_e_x_t-_c_h_a_r_a_c_t_e_r (_C-_D)
  2978.  
  2979. This deletes the character that's just after point (that is,  the
  2980. character  under  the cursor).  If point is at the end of a line,
  2981. the line separator is deleted and the next line  is  joined  with
  2982. the current one.
  2983.  
  2984. _1_6._5_9.  _d_e_l_e_t_e-_o_t_h_e_r-_w_i_n_d_o_w_s (_C-_X _1)
  2985.  
  2986. This deletes all the other windows except the current one.   This
  2987. can be thought of as going back into One Window mode.
  2988.  
  2989. _1_6._6_0.  _d_e_l_e_t_e-_p_r_e_v_i_o_u_s-_c_h_a_r_a_c_t_e_r (_R_u_b_o_u_t)
  2990.  
  2991. This deletes the character that's just before point (that is, the
  2992. character  before  the  cursor).  If point is at the beginning of
  2993. the line, the line separator is deleted and that line  is  joined
  2994. with the previous one.
  2995.  
  2996. _1_6._6_1.  _d_e_l_e_t_e-_w_h_i_t_e-_s_p_a_c_e (_E_S_C \)
  2997.  
  2998. This deletes all the Tabs and Spaces around point.
  2999.  
  3000. _1_6._6_2.  _d_e_s_c_r_i_b_e-_b_i_n_d_i_n_g_s (_N_o_t _B_o_u_n_d)
  3001.  
  3002. This types out a list containing each bound key and  the  command
  3003. that  gets  invoked every time that key is typed.  To make a wall
  3004. chart of JOVE commands, set _s_e_n_d-_t_y_p_e_o_u_t-_t_o-_b_u_f_f_e_r  to  "on"  and
  3005. JOVE  will  store the key bindings in a buffer which you can save
  3006. to a file and then print.
  3007.  
  3008. _1_6._6_3.  _d_e_s_c_r_i_b_e-_c_o_m_m_a_n_d (_N_o_t _B_o_u_n_d)
  3009.  
  3010. This prints some info on a specified command.
  3011.  
  3012. _1_6._6_4.  _d_e_s_c_r_i_b_e-_k_e_y (_N_o_t _B_o_u_n_d)
  3013.  
  3014. This waits for you to type a key and then tells the name  of  the
  3015. command  that  gets invoked every time that key is hit.  Once you
  3016. have the name of the command you  can  use  the  _d_e_s_c_r_i_b_e-_c_o_m_m_a_n_d
  3017. command to find out exactly what it does.
  3018.  
  3019. _1_6._6_5.  _d_e_s_c_r_i_b_e-_v_a_r_i_a_b_l_e (_N_o_t _B_o_u_n_d)
  3020.  
  3021. This prints some info on a specified variable.
  3022.  
  3023. _1_6._6_6.  _d_i_g_i_t (_E_S_C [_0-_9])
  3024.  
  3025. This reads a numeric argument.  When you type "ESC" followed by a
  3026. number,  "digit"  keeps reading numbers until you type some other
  3027. command.  Then that command is executes with the numeric argument
  3028. you specified.
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.                         February 24, 1988
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040. JOVE Manual for UNIX Users                              USD:17-47
  3041.  
  3042.  
  3043. _1_6._6_7.  _d_i_g_i_t-_1 (_N_o_t _B_o_u_n_d)
  3044.  
  3045. This pretends you typed "ESC 1".  This is  useful  for  terminals
  3046. that  have  keypads that send special sequences for numbers typed
  3047. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3048. This can save having type "ESC" when you want to specify an argu-
  3049. ment.
  3050.  
  3051. _1_6._6_8.  _d_i_g_i_t-_2 (_N_o_t _B_o_u_n_d)
  3052.  
  3053. This pretends you typed "ESC 2".  This is  useful  for  terminals
  3054. that  have  keypads that send special sequences for numbers typed
  3055. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3056. This can save having type "ESC" when you want to specify an argu-
  3057. ment.
  3058.  
  3059. _1_6._6_9.  _d_i_g_i_t-_3 (_N_o_t _B_o_u_n_d)
  3060.  
  3061. This pretends you typed "ESC 3".  This is  useful  for  terminals
  3062. that  have  keypads that send special sequences for numbers typed
  3063. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3064. This can save having type "ESC" when you want to specify an argu-
  3065. ment.
  3066.  
  3067. _1_6._7_0.  _d_i_g_i_t-_4 (_N_o_t _B_o_u_n_d)
  3068.  
  3069. This pretends you typed "ESC 4".  This is  useful  for  terminals
  3070. that  have  keypads that send special sequences for numbers typed
  3071. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3072. This can save having type "ESC" when you want to specify an argu-
  3073. ment.
  3074.  
  3075. _1_6._7_1.  _d_i_g_i_t-_5 (_N_o_t _B_o_u_n_d)
  3076.  
  3077. This pretends you typed "ESC 5".  This is  useful  for  terminals
  3078. that  have  keypads that send special sequences for numbers typed
  3079. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3080. This can save having type "ESC" when you want to specify an argu-
  3081. ment.
  3082.  
  3083. _1_6._7_2.  _d_i_g_i_t-_6 (_N_o_t _B_o_u_n_d)
  3084.  
  3085. This pretends you typed "ESC 6".  This is  useful  for  terminals
  3086. that  have  keypads that send special sequences for numbers typed
  3087. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3088. This can save having type "ESC" when you want to specify an argu-
  3089. ment.
  3090.  
  3091. _1_6._7_3.  _d_i_g_i_t-_7 (_N_o_t _B_o_u_n_d)
  3092.  
  3093. This pretends you typed "ESC 7".  This is  useful  for  terminals
  3094. that  have  keypads that send special sequences for numbers typed
  3095. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3096. This  can  save  having  type  "ESC"  when you want to specify an
  3097.  
  3098.  
  3099.  
  3100.                         February 24, 1988
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106. USD:17-48                              JOVE Manual for UNIX Users
  3107.  
  3108.  
  3109. argument.
  3110.  
  3111. _1_6._7_4.  _d_i_g_i_t-_8 (_N_o_t _B_o_u_n_d)
  3112.  
  3113. This pretends you typed "ESC 8".  This is  useful  for  terminals
  3114. that  have  keypads that send special sequences for numbers typed
  3115. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3116. This can save having type "ESC" when you want to specify an argu-
  3117. ment.
  3118.  
  3119. _1_6._7_5.  _d_i_g_i_t-_9 (_N_o_t _B_o_u_n_d)
  3120.  
  3121. This pretends you typed "ESC 9".  This is  useful  for  terminals
  3122. that  have  keypads that send special sequences for numbers typed
  3123. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3124. This can save having type "ESC" when you want to specify an argu-
  3125. ment.
  3126.  
  3127. _1_6._7_6.  _d_i_g_i_t-_0 (_N_o_t _B_o_u_n_d)
  3128.  
  3129. This pretends you typed "ESC 0".  This is  useful  for  terminals
  3130. that  have  keypads that send special sequences for numbers typed
  3131. on the keypad as opposed to  numbers  typed  from  the  keyboard.
  3132. This can save having type "ESC" when you want to specify an argu-
  3133. ment.
  3134.  
  3135. _1_6._7_7.  _d_i_r_s (_N_o_t _B_o_u_n_d)
  3136.  
  3137. This prints out the directory  stack.   See  the  "cd",  "pushd",
  3138. "popd" commands for more info.
  3139.  
  3140. _1_6._7_8.  _d_i_s_a_b_l_e-_b_i_f_f (_v_a_r_i_a_b_l_e)
  3141.  
  3142. When this is set, JOVE disables  biff  when  you're  editing  and
  3143. enables  it  again when you get out of JOVE, or when you pause to
  3144. the parent shell or push to a new shell. (This means  arrival  of
  3145. new  mail  will  not  be  immediately apparent but will not cause
  3146. indiscriminate writing on the display). The default is "off".
  3147.  
  3148. _1_6._7_9.  _d_i_s_p_l_a_y-_b_a_d-_f_i_l_e_n_a_m_e_s (_v_a_r_i_a_b_l_e)
  3149.  
  3150. This variable affects only filename  completion,  in  particular,
  3151. what  happens when "?" is typed while prompting for a file.  When
  3152. this variable is ON, any files that end with one  of  the  exten-
  3153. sions  defined  by  the  variable _b_a_d-_f_i_l_e_n_a_m_e-_e_x_t_e_n_s_i_o_n_s will be
  3154. displayed with an "!" in front of  their  names.   When  _d_i_s_p_l_a_y-
  3155. _b_a_d-_f_i_l_e_n_a_m_e_s is OFF the files will not be displayed at all.  The
  3156. default value is on.
  3157.  
  3158. _1_6._8_0.  _d_o_w_n-_l_i_s_t (_E_S_C _C-_D)
  3159.  
  3160. This is the opposite of _b_a_c_k_w_a_r_d-_u_p-_l_i_s_t.  It's not clear  to  me
  3161. that this command serves any useful purpose in life.  Try it out,
  3162. and let me know what you think.
  3163.  
  3164.  
  3165.  
  3166.                         February 24, 1988
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172. JOVE Manual for UNIX Users                              USD:17-49
  3173.  
  3174.  
  3175. _1_6._8_1.  _d_s_t_o_p-_p_r_o_c_e_s_s (_N_o_t _B_o_u_n_d)
  3176.  
  3177. Send the "dsusp" character to the current process.  This  is  the
  3178. character  that suspends a process on the next read from the ter-
  3179. minal.  Most people have it set to C-Y.  This only works  if  you
  3180. have  the interactive process feature, and if you are in a buffer
  3181. bound to a process.
  3182.  
  3183. _1_6._8_2.  _e_d_i_t-_w_o_r_d-_a_b_b_r_e_v_s (_N_o_t _B_o_u_n_d)
  3184.  
  3185. This creates a buffer with a list of each  abbreviation  and  the
  3186. phrase  it  expands  into, and enters a recursive edit to let you
  3187. change the abbreviations or add some more.  The  format  of  this
  3188. list  is "abbreviation:phrase" so if you add some more you should
  3189. follow that format.  It's probably simplest  just  to  copy  some
  3190. already  existing abbreviations and edit them.  When you are done
  3191. you type "C-X C-C" to exit the recursive edit.
  3192.  
  3193. _1_6._8_3.  _e_n_d-_k_b_d-_m_a_c_r_o (_C-_X ))
  3194.  
  3195. This stops the definition of the keyboard macro.   Because  of  a
  3196. bug  in JOVE, this must be bound to "C-X )", or some key sequence
  3197. which is one or two characters long.  Anything else will not work
  3198. properly.
  3199.  
  3200. _1_6._8_4.  _e_n_d-_o_f-_f_i_l_e (_E_S_C >)
  3201.  
  3202. This moves point forward to the end of the  buffer.   This  some-
  3203. times  prints  the  "Point  Pushed"  message.   If the end of the
  3204. buffer isn't on the screen JOVE will set the mark so you  can  go
  3205. back to where you were if you want.
  3206.  
  3207. _1_6._8_5.  _e_n_d-_o_f-_l_i_n_e (_C-_E)
  3208.  
  3209. This moves point to the end of the current line.  If the line  is
  3210. too  long  to  fit on the screen JOVE will scroll the line to the
  3211. left to make the end of the line visible.  The  line  will  slide
  3212. back to its normal position when you move backward past the left-
  3213. most visible character or when you move off the line altogether.
  3214.  
  3215. _1_6._8_6.  _e_n_d-_o_f-_w_i_n_d_o_w (_E_S_C .)
  3216.  
  3217. This moves point to the last character in the window.
  3218.  
  3219. _1_6._8_7.  _e_o_f-_p_r_o_c_e_s_s (_N_o_t _B_o_u_n_d)
  3220.  
  3221. Sends EOF to the current interactive process.  This only works on
  3222. versions of JOVE running under versions of UNIX with pty's.
  3223.  
  3224. _1_6._8_8.  _e_r_a_s_e-_b_u_f_f_e_r (_N_o_t _B_o_u_n_d)
  3225.  
  3226. This erases the contents of the specified buffer.  This  is  like
  3227. _d_e_l_e_t_e-_b_u_f_f_e_r  except  it only erases the contents of the buffer,
  3228. not the buffer itself.  If you try to erase a buffer  that  needs
  3229.  
  3230.  
  3231.  
  3232.                         February 24, 1988
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238. USD:17-50                              JOVE Manual for UNIX Users
  3239.  
  3240.  
  3241. saving you will be asked to confirm it.
  3242.  
  3243. _1_6._8_9.  _e_r_r_o_r-_f_o_r_m_a_t-_s_t_r_i_n_g (_v_a_r_i_a_b_l_e)
  3244.  
  3245. This is the error format string that is used by  _p_a_r_s_e-_e_r_r_o_r_s  to
  3246. find  the  error  messages  in  a buffer.  The way it works is by
  3247. using this string as a JOVE  regular  expression  search  string,
  3248. where  the \('s and \)'s regular expression operators are used to
  3249. pick out the file name and line number from the  line  containing
  3250. an  error  message.   For instance, a typical error message might
  3251. look like this:
  3252.  
  3253.         "file.c", line 540: missing semi-colon
  3254.  
  3255. For strings of this  format,  an  appropriate  value  for  _e_r_r_o_r-
  3256. _f_o_r_m_a_t-_s_t_r_i_n_g would be something like this:
  3257.  
  3258.         ^"\([^"]*\)", line \([0-9]*\):
  3259.  
  3260. What this means is, to find an error message, search for  a  line
  3261. beginning with a double-quote.  Then it says that all the follow-
  3262. ing characters up to another double-quote should be remembered as
  3263. one  unit,  namely  the filename that the error is in (that's why
  3264. the first set of parens are surrounding it).  Then it  says  that
  3265. after the filename there will be the string ", line " followed by
  3266. a line number, which should be remembered as a single unit (which
  3267. is  why  the second set of parens is around that).  The only con-
  3268. straints on the error messages is that the  file  name  and  line
  3269. number  appear  on  the same line, and that the file name appears
  3270. before the line number.  Most compilers seem to do  this  anyway,
  3271. so this is not an unreasonable restriction.
  3272.  
  3273. If you do not know how to use regular expressions then this vari-
  3274. able will be hard for you to use.  Also note that you can look at
  3275. the default value of this variable by printing it out, but it  is
  3276. a  really  complicated string because it is trying to accommodate
  3277. the outputs of more than one compiler at a time.
  3278.  
  3279. _1_6._9_0.  _e_r_r_o_r-_w_i_n_d_o_w-_s_i_z_e (_v_a_r_i_a_b_l_e)
  3280.  
  3281. This is the percentage of the screen to use for the  error-window
  3282. on  the  screen.   When you execute _c_o_m_p_i_l_e-_i_t, _e_r_r_o_r-_w_i_n_d_o_w-_s_i_z_e
  3283. percent of the screen will go to the error window.  If the window
  3284. already  exists  and  is  a different size, it is made to be this
  3285. size.  The default value is 20%.
  3286.  
  3287. _1_6._9_1.  _e_x_c_h_a_n_g_e-_p_o_i_n_t-_a_n_d-_m_a_r_k (_C-_X _C-_X)
  3288.  
  3289. This moves point to mark and makes mark the old point.   This  is
  3290. for quickly moving from one end of the region to another.
  3291.  
  3292. _1_6._9_2.  _e_x_e_c_u_t_e-_k_b_d-_m_a_c_r_o (_C-_X _E)
  3293.  
  3294. This executes the  keyboard  macro.   If  you  supply  a  numeric
  3295.  
  3296.  
  3297.  
  3298.                         February 24, 1988
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304. JOVE Manual for UNIX Users                              USD:17-51
  3305.  
  3306.  
  3307. argument the macro is executed that many times.
  3308.  
  3309. _1_6._9_3.  _e_x_e_c_u_t_e-_m_a_c_r_o (_N_o_t _B_o_u_n_d)
  3310.  
  3311. This executes a specified macro.  If you supply a  numeric  argu-
  3312. ment the macro is executed that many times.
  3313.  
  3314. _1_6._9_4.  _e_x_e_c_u_t_e-_n_a_m_e_d-_c_o_m_m_a_n_d (_E_S_C _X)
  3315.  
  3316. This is the way to execute a command that isn't bound to any key.
  3317. When you are prompted with ": " you can type the name of the com-
  3318. mand.  You don't have to type the entire name.  Once the  command
  3319. is  unambiguous you can type Space and JOVE will fill in the rest
  3320. for you.  If you are not sure of the name of  the  command,  type
  3321. "?" and JOVE will print a list of all the commands that you could
  3322. possibly match given what you've already  typed.   If  you  don't
  3323. have  any  idea  what  the  command's name is but you know it has
  3324. something to do with windows (for example), you  can  do  "ESC  X
  3325. apropos  window"  and  JOVE will print a list of all the commands
  3326. that are related to windows.  If  you  find  yourself  constantly
  3327. executing  the  same  commands this way you probably want to bind
  3328. them to keys so that you can execute them more quickly.  See  the
  3329. _b_i_n_d-_t_o-_k_e_y command.
  3330.  
  3331. _1_6._9_5.  _e_x_i_t-_j_o_v_e (_C-_X _C-_C)
  3332.  
  3333. This exits JOVE.  If any buffers need saving JOVE  will  print  a
  3334. warning  message  and ask for confirmation.  If you leave without
  3335. saving your buffers all your work will be lost.  If  you  made  a
  3336. mistake and really do want to exit then you can.  If you are in a
  3337. recursive editing level _e_x_i_t-_j_o_v_e will return you from that.
  3338.  
  3339. _1_6._9_6.  _e_x_p_a_n_d-_e_n_v_i_r_o_n_m_e_n_t-_v_a_r_i_a_b_l_e_s (_V_a_r_i_a_b_l_e)
  3340.  
  3341. When this variable is on JOVE will try to expand any  strings  of
  3342. the  form "$var" into the value of the environment variable "var"
  3343. when in the minibuffer.  For example, if you type  $HOME/.joverc,
  3344. "$HOME"  will  be  replaced with you home directory.  The default
  3345. value is off.
  3346.  
  3347. _1_6._9_7.  _f_i_l_e-_c_r_e_a_t_i_o_n-_m_o_d_e (_v_a_r_i_a_b_l_e)
  3348.  
  3349. This variable has an octal value.   It  contains  the  mode  (see
  3350. _c_h_m_o_d(_1)  )  with  which files should be created.  This mode gets
  3351. modified by your current umask  setting  (see  _u_m_a_s_k(_1)  ).   The
  3352. default value is usually _0_6_6_6 or _0_6_4_4.
  3353.  
  3354. _1_6._9_8.  _f_i_l_e_s-_s_h_o_u_l_d-_e_n_d-_w_i_t_h-_n_e_w_l_i_n_e (_v_a_r_i_a_b_l_e)
  3355.  
  3356. This variable indicates that all files should always have a  new-
  3357. line  at  the end.  This is often necessary for line printers and
  3358. the like.  When set, if JOVE is writing a file whose last charac-
  3359. ter is not a newline, it will add one automatically.
  3360.  
  3361.  
  3362.  
  3363.  
  3364.                         February 24, 1988
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370. USD:17-52                              JOVE Manual for UNIX Users
  3371.  
  3372.  
  3373. _1_6._9_9.  _f_i_l_l-_c_o_m_m_e_n_t (_N_o_t _B_o_u_n_d)
  3374.  
  3375. This command fills in your C comments to  make  them  pretty  and
  3376. readable.   This  filling is done according the variable _c_o_m_m_e_n_t-
  3377. _f_o_r_m_a_t.
  3378.  
  3379. /*
  3380.  * the default format makes comments like this.
  3381.  */
  3382.  
  3383. This can be changed  by  changing  the  format  variable.   Other
  3384. languages  may  be  supported  by  changing  the  format variable
  3385. appropriately.  The formatter looks backwards  from  dot  for  an
  3386. open  comment symbol.  If found, all indentation is done relative
  3387. the position of the first character of the open symbol.  If there
  3388. is  a matching close symbol, the entire comment is formatted.  If
  3389. not, the region between dot and the open symbol is reformatted.
  3390.  
  3391. _1_6._1_0_0.  _f_i_l_l-_p_a_r_a_g_r_a_p_h (_E_S_C _J)
  3392.  
  3393. This rearranges words between lines so that all the lines in  the
  3394. current  paragraph  extend as close to the right margin as possi-
  3395. ble, ensuring that none of the lines will  be  greater  than  the
  3396. right  margin.  The default value for _r_i_g_h_t-_m_a_r_g_i_n is 78, but can
  3397. be changed with the _s_e_t and _r_i_g_h_t-_m_a_r_g_i_n-_h_e_r_e commands.  JOVE has
  3398. a  complicated algorithm for determining the beginning and end of
  3399. the paragraph.  In the normal case JOVE will give all  the  lines
  3400. the  same indent as they currently have, but if you wish to force
  3401. a new indent you can supply a numeric argument to  _f_i_l_l-_p_a_r_a_g_r_a_p_h
  3402. (e.g., by typing C-U ESC J) and JOVE will indent each line to the
  3403. column specified by  the  _l_e_f_t-_m_a_r_g_i_n  variable.   See  also  the
  3404. _l_e_f_t-_m_a_r_g_i_n variable and _l_e_f_t-_m_a_r_g_i_n-_h_e_r_e command.
  3405.  
  3406. _1_6._1_0_1.  _f_i_l_l-_r_e_g_i_o_n (_N_o_t _B_o_u_n_d)
  3407.  
  3408. This is like _f_i_l_l-_p_a_r_a_g_r_a_p_h,  except  it  operates  on  a  region
  3409. instead of just a paragraph.
  3410.  
  3411. _1_6._1_0_2.  _f_i_l_t_e_r-_r_e_g_i_o_n (_N_o_t _B_o_u_n_d)
  3412.  
  3413. This sends the text in the region to a UNIX command, and replaces
  3414. the  region  with  the output from that command.  For example, if
  3415. you are lazy and don't like to take the time  to  write  properly
  3416. indented  C  code,  you can put the region around your C file and
  3417. _f_i_l_t_e_r-_r_e_g_i_o_n it through _c_b, the UNIX C beautifier.  If you  have
  3418. a  file that contains a bunch of lines that need to be sorted you
  3419. can do that from inside JOVE too, by filtering the region through
  3420. the  _s_o_r_t  UNIX command.  Before output from the command replaces
  3421. the region JOVE stores the old text in the kill ring, so  if  you
  3422. are unhappy with the results you can easily get back the old text
  3423. with "C-Y".
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.                         February 24, 1988
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436. JOVE Manual for UNIX Users                              USD:17-53
  3437.  
  3438.  
  3439. _1_6._1_0_3.  _f_i_n_d-_f_i_l_e (_C-_X _C-_F)
  3440.  
  3441. This visits a file into its own  buffer  and  then  selects  that
  3442. buffer.   If  you've already visited this file in another buffer,
  3443. that buffer is selected.  If the file  doesn't  yet  exist,  JOVE
  3444. will print "(New file)" so that you know.
  3445.  
  3446. _1_6._1_0_4.  _f_i_n_d-_t_a_g (_C-_X _T)
  3447.  
  3448. This finds the file that contains the specified tag.  JOVE  looks
  3449. up  tags  by default in the "tags" file in the current directory.
  3450. You can change the default tag name by setting the _t_a_g-_f_i_l_e vari-
  3451. able  to another name.  If you specify a numeric argument to this
  3452. command, you will be prompted for a tag file.  This is a good way
  3453. to specify another tag file without changing the default.  If the
  3454. tag cannot be found the error is reported and point  stays  where
  3455. it is.
  3456.  
  3457. _1_6._1_0_5.  _f_i_n_d-_t_a_g-_a_t-_p_o_i_n_t (_N_o_t _B_o_u_n_d)
  3458.  
  3459. This finds the file that contains the tag that point is currently
  3460. on.  See _f_i_n_d-_t_a_g.
  3461.  
  3462. _1_6._1_0_6.  _f_i_r_s_t-_n_o_n-_b_l_a_n_k (_E_S_C _M)
  3463.  
  3464. This moves point back to the indent of the current line.
  3465.  
  3466. _1_6._1_0_7.  _f_o_r_e_g_r_o_u_n_d-_c_o_l_o_r (_v_a_r_i_a_b_l_e)
  3467.  
  3468. This specifies the foreground color of  the  screen  (PC  version
  3469. only).   The default is 1, which stands for white.  Teh attribute
  3470. used for writing to the screen is formed by (bg&7)<<4 & (fg&7).
  3471.  
  3472. _1_6._1_0_8.  _f_o_r_w_a_r_d-_c_h_a_r_a_c_t_e_r (_C-_F)
  3473.  
  3474. This moves forward over a single character.  If point is  at  the
  3475. end of the line it moves to the beginning of the next one.
  3476.  
  3477. _1_6._1_0_9.  _f_o_r_w_a_r_d-_l_i_s_t (_E_S_C _C-_N)
  3478.  
  3479. This is like _f_o_r_w_a_r_d-_s-_e_x_p_r_e_s_s_i_o_n  except  it  moves  over  lists
  3480. ONLY.  What this does is search for the next "(" and then move to
  3481. the matching ")".  This is useful for when you are trying to find
  3482. mismatched parentheses in a program.
  3483.  
  3484. _1_6._1_1_0.  _f_o_r_w_a_r_d-_p_a_r_a_g_r_a_p_h (_E_S_C ])
  3485.  
  3486. This moves point forward to the end of the current or next  para-
  3487. graph.   Paragraphs are bounded by lines that begin with a Period
  3488. or Tab, or by blank lines; a change in indentation may also  sig-
  3489. nal a break between paragraphs, except that JOVE allows the first
  3490. line of a paragraph to be indented  differently  from  the  other
  3491. lines.
  3492.  
  3493.  
  3494.  
  3495.  
  3496.                         February 24, 1988
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502. USD:17-54                              JOVE Manual for UNIX Users
  3503.  
  3504.  
  3505. _1_6._1_1_1.  _f_o_r_w_a_r_d-_s-_e_x_p_r_e_s_s_i_o_n (_E_S_C _C-_F)
  3506.  
  3507. This moves point forward over a s-expression.  If the first  sig-
  3508. nificant character after point is "(", this moves past the match-
  3509. ing ")".  If the character begins an identifier, this moves  just
  3510. past it.  This is mode dependent, so this will move over atoms in
  3511. LISP mode and C identifiers in C mode.  JOVE also matches "{".
  3512.  
  3513. _1_6._1_1_2.  _f_o_r_w_a_r_d-_s_e_n_t_e_n_c_e (_E_S_C _E)
  3514.  
  3515. This moves point forward to the end of the current or  next  sen-
  3516. tence.  JOVE considers the end of a sentence to be the characters
  3517. ".", "!" or "?" followed by a Return, or one or more spaces.
  3518.  
  3519. _1_6._1_1_3.  _f_o_r_w_a_r_d-_w_o_r_d (_E_S_C _F)
  3520.  
  3521. This moves point forward to the end of the current or next word.
  3522.  
  3523. _1_6._1_1_4.  _f_u_n_d_a_m_e_n_t_a_l-_m_o_d_e (_N_o_t _B_o_u_n_d)
  3524.  
  3525. This sets the major mode to Fundamental.  This affects what  JOVE
  3526. considers  as  characters  that  make  up  words.   For instance,
  3527. Single-quote is not part of a word in Fundamental mode, but is in
  3528. Text mode.
  3529.  
  3530. _1_6._1_1_5.  _g_a_t_h_e_r-_n_u_m_e_r_i_c-_a_r_g_u_m_e_n_t (_C-_U)
  3531.  
  3532. This command is one of two ways to specify a numeric argument  to
  3533. a command.  It's usually bound to C-U.  Typing C-U once means, Do
  3534. the next command 4 times.  Typing C-U twice will do the next com-
  3535. mand  16  times,  and  so on.  If at any point you type a number,
  3536. then that number will be used instead of 4.  For instance, C-U  3
  3537. 5 means do the next command 35 times.
  3538.  
  3539. _1_6._1_1_6.  _g_o_t_o-_l_i_n_e (_E_S_C _G)
  3540.  
  3541. If a numeric argument is supplied point moves to the beginning of
  3542. that line.  If no argument is supplied one is prompted for.
  3543.  
  3544. _1_6._1_1_7.  _g_o_t_o-_w_i_n_d_o_w-_w_i_t_h-_b_u_f_f_e_r (_N_o_t _B_o_u_n_d)
  3545.  
  3546. This command prompts for a  buffer  name  and  then  select  that
  3547. buffer.  If the buffer is currently being displayed in one of the
  3548. windows, that window is selected instead.
  3549.  
  3550. _1_6._1_1_8.  _g_r_i_n_d-_s-_e_x_p_r (_N_o_t _B_o_u_n_d)
  3551.  
  3552. When point is positioned on a  "(",  this  re-indents  that  LISP
  3553. expression.
  3554.  
  3555. _1_6._1_1_9.  _g_r_o_w-_w_i_n_d_o_w (_C-_X ^)
  3556.  
  3557. This makes the current window one line bigger.  This  only  works
  3558. when  there is more than one window and provided there is room to
  3559.  
  3560.  
  3561.  
  3562.                         February 24, 1988
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568. JOVE Manual for UNIX Users                              USD:17-55
  3569.  
  3570.  
  3571. change the size.
  3572.  
  3573. _1_6._1_2_0.  _h_a_n_d_l_e-_t_a_b (_T_a_b)
  3574.  
  3575. This handles indenting to the "right" place in C and  Lisp  mode,
  3576. and just inserts itself in Text mode.
  3577.  
  3578. _1_6._1_2_1.  _i-_s_e_a_r_c_h-_f_o_r_w_a_r_d (_N_o_t _B_o_u_n_d)
  3579.  
  3580. Incremental search.  Like search-forward except that  instead  of
  3581. prompting for a string and searching for that string all at once,
  3582. it accepts the string one character at a time.  After each  char-
  3583. acter  you type as part of the search string, it searches for the
  3584. entire string so far.  When you like  what  it  found,  type  the
  3585. Return  key  to finish the search.  You can take back a character
  3586. with Rubout and the search will back up to  the  position  before
  3587. that character was typed.  C-G aborts the search.
  3588.  
  3589. _1_6._1_2_2.  _i-_s_e_a_r_c_h-_r_e_v_e_r_s_e (_N_o_t _B_o_u_n_d)
  3590.  
  3591. Incremental search.  Like search-reverse except that  instead  of
  3592. prompting for a string and searching for that string all at once,
  3593. it accepts the string one character at a time.  After each  char-
  3594. acter  you type as part of the search string, it searches for the
  3595. entire string so far.  When you like  what  it  found,  type  the
  3596. Return  key  to finish the search.  You can take back a character
  3597. with Rubout and the search will back up to  the  position  before
  3598. that character was typed.  C-G aborts the search.
  3599.  
  3600. _1_6._1_2_3.  _i-_s_h_e_l_l-_c_o_m_m_a_n_d (_N_o_t _B_o_u_n_d)
  3601.  
  3602. This is like _s_h_e_l_l-_c_o_m_m_a_n_d except it lets you continue with  your
  3603. editing  while the command is running.  This is really useful for
  3604. long running commands with sporadic output.  See the  manual  for
  3605. information on how to use interactive processes.
  3606.  
  3607. _1_6._1_2_4.  _i_n_s_e_r_t-_f_i_l_e (_C-_X _C-_I)
  3608.  
  3609. This inserts a specified file into the current buffer  at  point.
  3610. Point is positioned at the beginning of the inserted file.
  3611.  
  3612. _1_6._1_2_5.  _i_n_t_e_r_n_a_l-_t_a_b_s_t_o_p (_v_a_r_i_a_b_l_e)
  3613.  
  3614. The number of spaces JOVE should print when  it  displays  a  tab
  3615. character.  The default value is 8.
  3616.  
  3617. _1_6._1_2_6.  _i_n_t_e_r_r_u_p_t-_c_h_a_r_a_c_t_e_r (_v_a_r_i_a_b_l_e)
  3618.  
  3619. This is set to the character that interrupts JOVE (with a signal)
  3620. no  matter what JOVE is doing.  It's main use is for interrupting
  3621. non-interactive processes, but it also has  uses  for  debugging.
  3622. Unfortunately  there  is no way to turn off the interrupt charac-
  3623. ter.
  3624.  
  3625.  
  3626.  
  3627.  
  3628.                         February 24, 1988
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634. USD:17-56                              JOVE Manual for UNIX Users
  3635.  
  3636.  
  3637. _1_6._1_2_7.  _i_n_t_e_r_r_u_p_t-_p_r_o_c_e_s_s (_N_o_t _B_o_u_n_d)
  3638.  
  3639. This sends the interrupt character (usually C-C) to the  interac-
  3640. tive process in the current buffer.  This is only for versions of
  3641. JOVE that have the  interactive  processes  feature.   This  only
  3642. works when you are inside a buffer that's attached to a process.
  3643.  
  3644. _1_6._1_2_8.  _k_i_l_l-_n_e_x_t-_w_o_r_d (_E_S_C _D)
  3645.  
  3646. This kills the text from point to the end of the current or  next
  3647. word.
  3648.  
  3649. _1_6._1_2_9.  _k_i_l_l-_p_r_e_v_i_o_u_s-_w_o_r_d (_E_S_C _R_u_b_o_u_t)
  3650.  
  3651. This kills the text from point to the beginning of the current or
  3652. previous word.
  3653.  
  3654. _1_6._1_3_0.  _k_i_l_l-_p_r_o_c_e_s_s (_N_o_t _B_o_u_n_d)
  3655.  
  3656. This command prompts for a buffer name or buffer number (just  as
  3657. select-buffer  does)  and then sends the process in that buffer a
  3658. kill signal (9).
  3659.  
  3660. _1_6._1_3_1.  _k_i_l_l-_r_e_g_i_o_n (_C-_W)
  3661.  
  3662. This deletes the text in the region and  saves  it  on  the  kill
  3663. ring.  Commands that delete text but save it on the kill ring all
  3664. have the word "kill" in their names.  Type "C-Y" to yank back the
  3665. most recent kill.
  3666.  
  3667. _1_6._1_3_2.  _k_i_l_l-_s-_e_x_p_r_e_s_s_i_o_n (_E_S_C _C-_K)
  3668.  
  3669. This kills the text from point to the end of the current or  next
  3670. s-expression.
  3671.  
  3672. _1_6._1_3_3.  _k_i_l_l-_s_o_m_e-_b_u_f_f_e_r_s (_N_o_t _B_o_u_n_d)
  3673.  
  3674. This goes through all the existing buffers and  asks  whether  or
  3675. not  to  kill them.  If you decide to kill a buffer, and it turns
  3676. out that the buffer is modified,  JOVE  will  offer  to  save  it
  3677. first.   This is useful for when JOVE runs out of memory to store
  3678. lines (this only happens  on  PDP-11's)  and  you  have  lots  of
  3679. buffers that you are no longer using.
  3680.  
  3681. _1_6._1_3_4.  _k_i_l_l-_t_o-_b_e_g_i_n_n_i_n_g-_o_f-_s_e_n_t_e_n_c_e (_C-_X _R_u_b_o_u_t)
  3682.  
  3683. This kills from point to the beginning of the current or previous
  3684. sentence.
  3685.  
  3686. _1_6._1_3_5.  _k_i_l_l-_t_o-_e_n_d-_o_f-_l_i_n_e (_C-_K)
  3687.  
  3688. This kills from point to the end of the current line.  When point
  3689. is  at  the end of the line the line separator is deleted and the
  3690. next line is joined with current one.  If a numeric  argument  is
  3691.  
  3692.  
  3693.  
  3694.                         February 24, 1988
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700. JOVE Manual for UNIX Users                              USD:17-57
  3701.  
  3702.  
  3703. supplied  that many lines are killed; if the argument is negative
  3704. that many lines _b_e_f_o_r_e point are killed; if the argument is  zero
  3705. the text from point to the beginning of the line is killed.
  3706.  
  3707. _1_6._1_3_6.  _k_i_l_l-_t_o-_e_n_d-_o_f-_s_e_n_t_e_n_c_e (_E_S_C _K)
  3708.  
  3709. This kills from point to the end of the current or next sentence.
  3710. If a negative numeric argument is supplied it kills from point to
  3711. the beginning of the current or previous sentence.
  3712.  
  3713. _1_6._1_3_7.  _l_e_f_t-_m_a_r_g_i_n (_v_a_r_i_a_b_l_e)
  3714.  
  3715. This is how far lines should be indented when auto-indent mode is
  3716. on,  or  when  the  _n_e_w_l_i_n_e-_a_n_d-_i_n_d_e_n_t command is run (usually by
  3717. typing LineFeed).  It is also used by  fill-paragraph  and  auto-
  3718. fill mode.  If the value is zero (the default) then the left mar-
  3719. gin is determined from the surrounding lines.
  3720.  
  3721. _1_6._1_3_8.  _l_e_f_t-_m_a_r_g_i_n-_h_e_r_e (_N_o_t _B_o_u_n_d)
  3722.  
  3723. This sets the _l_e_f_t-_m_a_r_g_i_n variable to  the  current  position  of
  3724. point.   This  is an easy way to say, "Make the left margin begin
  3725. here," without having to count the number of spaces over it actu-
  3726. ally is.
  3727.  
  3728. _1_6._1_3_9.  _l_i_s_p-_m_o_d_e (_N_o_t _B_o_u_n_d)
  3729.  
  3730. This turns on Lisp mode.  Lisp  mode  is  one  of  four  mutually
  3731. exclusive  major  modes: Fundamental, Text, C, and Lisp.  In Lisp
  3732. mode, the characters Tab and ) are treated specially, similar  to
  3733. the  way  they  are treated in C mode.  Also, Auto Indent mode is
  3734. affected, and handled specially.
  3735.  
  3736. _1_6._1_4_0.  _l_i_s_t-_b_u_f_f_e_r_s (_C-_X _C-_B)
  3737.  
  3738. This types out a list containing various information  about  each
  3739. buffer.  Right now that list looks like this:
  3740.  
  3741.          (* means the buffer needs saving)
  3742.          NO  Lines Type        Name           File
  3743.          --  ----- ----        ----           ----
  3744.          1   1     File        Main           [No file]
  3745.          2   1     Scratch   * Minibuf        [No file]
  3746.          3   519   File      * commands.doc   commands.doc
  3747.  
  3748. The first column lists the buffer's number.   When  JOVE  prompts
  3749. for  a  buffer  name you can either type in the full name, or you
  3750. can simply type the buffer's number.  The second  column  is  the
  3751. number  of  lines  in  the  buffer.   The third says what type of
  3752. buffer.  There are four types: "File", "Scratch", "Process",  "I-
  3753. Process".  "File" is simply a buffer that holds a file; "Scratch"
  3754. is for buffers that JOVE uses internally; "Process" is  one  that
  3755. holds the output from a UNIX command; "I-Process" is one that has
  3756. an interactive process attached to it.  The next column  contains
  3757.  
  3758.  
  3759.  
  3760.                         February 24, 1988
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766. USD:17-58                              JOVE Manual for UNIX Users
  3767.  
  3768.  
  3769. the  name  of the buffer.  And the last column is the name of the
  3770. file that's attached to the buffer.  In this case,  both  Minibuf
  3771. and  commands.doc  have  been changed but not yet saved.  In fact
  3772. Minibuf won't be saved since it's an internal JOVE buffer that  I
  3773. don't even care about.
  3774.  
  3775. _1_6._1_4_1.  _l_i_s_t-_p_r_o_c_e_s_s_e_s (_N_o_t _B_o_u_n_d)
  3776.  
  3777. This makes a list somewhat like "list-buffers" does,  except  its
  3778. list  consists  of  the current interactive processes.  Right now
  3779. the list looks like this:
  3780.  
  3781.          Buffer           Status           Pid    Command
  3782.          ------           ------           ---    -------
  3783.          *shell*          Running          18415shell
  3784.          fgrep            Done             18512   fgrep -n Buffer *.c
  3785.  
  3786. The first column has the name of the buffer to which the  process
  3787. is attached.  The second has the status of the process; if a pro-
  3788. cess has exited normally the status is "Done" as in fgrep; if the
  3789. process  exited  with  an error the status is "Exit N" where N is
  3790. the value of the exit code; if the process  was  killed  by  some
  3791. signal the status is the name of the signal that was used; other-
  3792. wise the process is running.  The last column is the name of  the
  3793. command that is being run.
  3794.  
  3795. _1_6._1_4_2.  _m_a_i_l-_c_h_e_c_k-_f_r_e_q_u_e_n_c_y (_v_a_r_i_a_b_l_e)
  3796.  
  3797. This is how often (in seconds) JOVE should check your mailbox for
  3798. incoming mail.  See also the _m_a_i_l_b_o_x and _d_i_s_a_b_l_e-_b_i_f_f variables.
  3799.  
  3800. _1_6._1_4_3.  _m_a_i_l_b_o_x (_v_a_r_i_a_b_l_e)
  3801.  
  3802. Set this to the full pathname of your mailbox.   JOVE  will  look
  3803. here  to  decide  whether  or not you have any unread mail.  This
  3804. defaults to /usr/spool/mail/$USER, where $USER  is  set  to  your
  3805. login name.
  3806.  
  3807. _1_6._1_4_4.  _m_a_k_e-_b_a_c_k_u_p-_f_i_l_e_s (_v_a_r_i_a_b_l_e)
  3808.  
  3809. If this variable is set, then whenever JOVE writes out a file, it
  3810. will  move the previous version of the file (if there was one) to
  3811. "#filename".  This is often convenient if  you  save  a  file  by
  3812. accident.   The  default  value of this variable is "off".  _N_o_t_e:
  3813. this is an optional part of JOVE, and your guru may not  have  it
  3814. enabled, so it may not work.
  3815.  
  3816. _1_6._1_4_5.  _m_a_k_e-_b_u_f_f_e_r-_u_n_m_o_d_i_f_i_e_d (_E_S_C ~)
  3817.  
  3818. This makes JOVE think the selected  buffer  hasn't  been  changed
  3819. even if it has.  Use this when you accidentally change the buffer
  3820. but don't want it considered changed.  Watch the mode line to see
  3821. the * disappear when you use this command.
  3822.  
  3823.  
  3824.  
  3825.  
  3826.                         February 24, 1988
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832. JOVE Manual for UNIX Users                              USD:17-59
  3833.  
  3834.  
  3835. _1_6._1_4_6.  _m_a_k_e-_m_a_c_r_o-_i_n_t_e_r_a_c_t_i_v_e (_N_o_t _B_o_u_n_d)
  3836.  
  3837. This command is meaningful only while you are defining a keyboard
  3838. macro,  and  when you in the minibuffer.  Ordinarily, when a com-
  3839. mand in a macro definition  requires  a  trailing  text  argument
  3840. (file name, search string, etc.), the argument you supply becomes
  3841. part of the macro definition.  If you want to be able to supply a
  3842. different  argument  each  time the macro is used, then while you
  3843. are defining it, you should give the make-macro-interactive  com-
  3844. mand  just  before  typing the argument which will be used during
  3845. the definition process.  Note: you must bind this  command  to  a
  3846. key  in  order  to  use  it;  you  can't  say  "ESC X make-macro-
  3847. interactive".
  3848.  
  3849. _1_6._1_4_7.  _m_a_r_k-_t_h_r_e_s_h_o_l_d (_v_a_r_i_a_b_l_e)
  3850.  
  3851. This variable contains the number of  lines  point  may  move  by
  3852. before  the  mark  is  set.   If, in a search or something, point
  3853. moves by more than this many lines, the mark is set so  that  you
  3854. may return easily.  The default value of this variable is 22 (one
  3855. screenful, on most terminals).
  3856.  
  3857. _1_6._1_4_8.  _m_a_r_k_s-_s_h_o_u_l_d-_f_l_o_a_t (_v_a_r_i_a_b_l_e)
  3858.  
  3859. When this variable is "off", the position of a mark is remembered
  3860. as  a line number within the buffer and a character number within
  3861. the line.  If you add or delete text before the mark, it will  no
  3862. longer  point to the text you marked originally because that text
  3863. is no longer at the same line and character  number.   When  this
  3864. variable  is  "on", the position of a mark is adjusted to compen-
  3865. sate for each insertion and deletion.  This makes marks much more
  3866. sensible  to use, at the cost of slowing down insertion and dele-
  3867. tion somewhat.  The default value is "on".
  3868.  
  3869. _1_6._1_4_9.  _m_a_t_c_h-_r_e_g_u_l_a_r-_e_x_p_r_e_s_s_i_o_n_s (_v_a_r_i_a_b_l_e)
  3870.  
  3871. When set, JOVE will match regular expressions in search patterns.
  3872. This  makes  special the characters ., *, [, ], ^, and $, and the
  3873. two-character sequences \<, \>, \{, \} and  \|.   See  the  _e_d(_1)
  3874. manual  page,  the  tutorial "Advanced Editing in UNIX ", and the
  3875. section above  "Searching  with  Regular  Expressions"  for  more
  3876. information.
  3877.  
  3878. _1_6._1_5_0.  _m_e_t_a-_k_e_y (_v_a_r_i_a_b_l_e)
  3879.  
  3880. You should set this variable to "on" if your terminal has a  real
  3881. Meta  key.   If your terminal has such a key, then a key sequence
  3882. like ESC Y can be entered by holding  down  Meta  and  typing  Y.
  3883. NOTE:  This disables interrupting noninteractive shell commands.
  3884.  
  3885. _1_6._1_5_1.  _m_o_d_e-_l_i_n_e (_v_a_r_i_a_b_l_e)
  3886.  
  3887. The format of the mode line can be  determined  by  setting  this
  3888. variable.   The items in the line are specified using a printf(3)
  3889.  
  3890.  
  3891.  
  3892.                         February 24, 1988
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898. USD:17-60                              JOVE Manual for UNIX Users
  3899.  
  3900.  
  3901. format, with the special things being marked as "%x".  Digits may
  3902. be used between the 'x' may be:
  3903.  
  3904.              C    check for new mail, and displays "[New mail]" if there
  3905.                   is any (see also the mail-check-interval and disable-biff
  3906.                   variables)
  3907.              F    the current file name, with leading path stripped
  3908.              M    the current list of major and minor modes
  3909.              b    the current buffer name
  3910.              c    the fill character (-)
  3911.              d    the current directory
  3912.              e    end of string--this must be the last item in the string
  3913.              f    the current file name
  3914.              l    the current load average (updated automatically)
  3915.              mxy  x, when the buffer is modified or y, when not
  3916.              n    the current buffer number
  3917.              s    space, but only if previous character is not a space
  3918.              t    the current time (updated automatically)
  3919.              [ ]  the square brackets printed when in a recursive edit
  3920.              ( )  items enclosed in %( ... %) will only be printed on
  3921.                   the bottom mode line, rather than copied when the
  3922.                   window is split
  3923.  
  3924. In addition, any other character is simply copied into  the  mode
  3925. line.  Characters may be escaped with a backslash.  To get a feel
  3926. for all this, try typing "ESC X print mode-line" and compare  the
  3927. result with your current mode line.
  3928.  
  3929. _1_6._1_5_2.  _m_o_d_e-_l_i_n_e-_c_o_l_o_r (_v_a_r_i_a_b_l_e)
  3930.  
  3931. This specifies the color of the modeline (PC version only).   Its
  3932. default  value  is  0,  and  in  that case it is drawn in reverse
  3933. video.  If it has any other value, this  value  is  used  as  the
  3934. attribute in the Bios calls.
  3935.  
  3936. _1_6._1_5_3.  _m_o_d_e-_l_i_n_e-_s_h_o_u_l_d-_s_t_a_n_d_o_u_t (_v_a_r_i_a_b_l_e)
  3937.  
  3938. If set, the mode line will be printed in reverse video,  if  your
  3939. terminal supports it.  The default for this variable is "off".
  3940.  
  3941. _1_6._1_5_4.  _n_a_m_e-_k_b_d-_m_a_c_r_o (_N_o_t _B_o_u_n_d)
  3942.  
  3943. This copies the keyboard macro and gives it a name freeing up the
  3944. keyboard macro so you can define some more.  Keyboard macros with
  3945. their own names can be bound to keys just like built in  commands
  3946. can.   See the _d_e_f_i_n_e-_m_a_c_r_o, _s_o_u_r_c_e and _w_r_i_t_e-_m_a_c_r_o_s-_t_o-_f_i_l_e com-
  3947. mands.
  3948.  
  3949. _1_6._1_5_5.  _n_e_w_l_i_n_e (_R_e_t_u_r_n)
  3950.  
  3951. This divides the current line at point moving all the text to the
  3952. right  of  point  down  onto the newly created line.  Point moves
  3953. down to the beginning of the new line.
  3954.  
  3955.  
  3956.  
  3957.  
  3958.                         February 24, 1988
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964. JOVE Manual for UNIX Users                              USD:17-61
  3965.  
  3966.  
  3967. _1_6._1_5_6.  _n_e_w_l_i_n_e-_a_n_d-_b_a_c_k_u_p (_C-_O)
  3968.  
  3969. This divides the current line at point moving all the text to the
  3970. right  of point down onto the newly created line.  The difference
  3971. between this and "newline" is that point does not  move  down  to
  3972. the beginning of the new line.
  3973.  
  3974. _1_6._1_5_7.  _n_e_w_l_i_n_e-_a_n_d-_i_n_d_e_n_t (_L_i_n_e_F_e_e_d)
  3975.  
  3976. This behaves the same was as Return  does  when  in  Auto  Indent
  3977. mode.  This makes Auto Indent mode obsolete but it remains in the
  3978. name of backward compatibility.
  3979.  
  3980. _1_6._1_5_8.  _n_e_x_t-_e_r_r_o_r (_C-_X _C-_N)
  3981.  
  3982. This moves to the next error in the  list  of  errors  that  were
  3983. parsed  with  _p_a_r_s_e-_e_r_r_o_r_s.   In one window the list of errors is
  3984. shown with the current one always at the top.  In another  window
  3985. is the file that contains the error.  Point is positioned in this
  3986. window on the line where the error occurred.
  3987.  
  3988. _1_6._1_5_9.  _n_e_x_t-_l_i_n_e (_C-_N)
  3989.  
  3990. This moves down to the next line.
  3991.  
  3992. _1_6._1_6_0.  _n_e_x_t-_p_a_g_e (_C-_V)
  3993.  
  3994. This displays the next page of the buffer by  taking  the  bottom
  3995. line  of  the window and redrawing the window with it at the top.
  3996. If there isn't another page in the buffer JOVE  rings  the  bell.
  3997. If  a numeric argument is supplied the screen is scrolled up that
  3998. many lines; if the argument is negative the  screen  is  scrolled
  3999. down.
  4000.  
  4001. _1_6._1_6_1.  _n_e_x_t-_w_i_n_d_o_w (_C-_X _N)
  4002.  
  4003. This moves into the next window.  Windows live in a circular list
  4004. so  when  you're  in the bottom window and you try to move to the
  4005. next one you are moved to the top window.  It is an error to  use
  4006. this command with only one window.
  4007.  
  4008. _1_6._1_6_2.  _n_u_m_b_e_r-_l_i_n_e_s-_i_n-_w_i_n_d_o_w (_N_o_t _B_o_u_n_d)
  4009.  
  4010. This displays the line numbers for each line in the buffer  being
  4011. displayed.  The number isn't actually part of the text; it's just
  4012. printed before the actual buffer line is.  To turn this  off  you
  4013. run the command again; it toggles.
  4014.  
  4015. _1_6._1_6_3.  _o_v_e_r-_w_r_i_t_e-_m_o_d_e (_N_o_t _B_o_u_n_d)
  4016.  
  4017. This turns Over Write mode on (or off if it's  currently  on)  in
  4018. the  selected  buffer.   When  on,  this mode changes the way the
  4019. self-inserting characters work.  Instead of inserting  themselves
  4020. and  pushing the rest of the line over to the right, they replace
  4021.  
  4022.  
  4023.  
  4024.                         February 24, 1988
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030. USD:17-62                              JOVE Manual for UNIX Users
  4031.  
  4032.  
  4033. or over-write the existing character.  Also, Rubout replaces  the
  4034. character before point with a space instead of deleting it.  When
  4035. Over Write mode is on "OvrWt" is displayed on the mode line.
  4036.  
  4037. _1_6._1_6_4.  _p_a_g_e-_n_e_x_t-_w_i_n_d_o_w (_E_S_C _C-_V)
  4038.  
  4039. This displays the next page in the next window.  This is  exactly
  4040. the same as "C-X N C-V C-X P".
  4041.  
  4042. _1_6._1_6_5.  _p_a_r_e_n-_f_l_a_s_h () } ])
  4043.  
  4044. This handles the C mode curly brace indentation,  the  Lisp  mode
  4045. paren   indentation,   and   the   Show  Match  mode  paren/curly
  4046. brace/square bracket flashing.
  4047.  
  4048. _1_6._1_6_6.  _p_a_r_e_n-_f_l_a_s_h-_d_e_l_a_y (_v_a_r_i_a_b_l_e)
  4049.  
  4050. How long, in tenths of seconds, JOVE should pause on  a  matching
  4051. parenthesis in _S_h_o_w mode.  The default is 5.
  4052.  
  4053. _1_6._1_6_7.  _p_a_r_s_e-_e_r_r_o_r_s (_N_o_t _B_o_u_n_d)
  4054.  
  4055. This takes the list of  C  compilation  errors  (or  output  from
  4056. another  program  in  the  same format) in the current buffer and
  4057. parses them for use with the _n_e_x_t-_e_r_r_o_r  and  _p_r_e_v_i_o_u_s-_e_r_r_o_r  and
  4058. _c_u_r_r_e_n_t-_e_r_r_o_r  commands.   This  is  a very useful tool and helps
  4059. with compiling C programs and when used in conjunction  with  the
  4060. "grep"  UNIX command very helpful in making changes to a bunch of
  4061. files.  This command understands errors produced by cc, cpp,  and
  4062. lint;  plus  any  other program with the same format (e.g., "grep
  4063. -n").  JOVE visits each file that has an error and remembers each
  4064. line  that  contains  an  error.   It doesn't matter if later you
  4065. insert or delete some lines in  the  buffers  containing  errors;
  4066. JOVE  remembers  where  they  are  regardless.   _c_u_r_r_e_n_t-_e_r_r_o_r is
  4067. automatically executed after one of the parse  commands,  so  you
  4068. end  up at the first error.  See also _e_r_r_o_r-_f_o_r_m_a_t-_s_t_r_i_n_g to make
  4069. it possible to parse errors of a different format.
  4070.  
  4071. _1_6._1_6_8.  _p_a_r_s_e-_s_p_e_l_l_i_n_g-_e_r_r_o_r_s-_i_n-_b_u_f_f_e_r (_N_o_t _B_o_u_n_d)
  4072.  
  4073. This parses a list of words in the current buffer and looks  them
  4074. up  in  another  buffer  that you specify.  This will probably go
  4075. away soon.
  4076.  
  4077. _1_6._1_6_9.  _p_a_u_s_e-_j_o_v_e (_E_S_C _S)
  4078.  
  4079. This stops JOVE and returns control to the  parent  shell.   This
  4080. only  works for users using the C-shell, and on systems that have
  4081. the job control facility.  To return to JOVE you type "fg" to the
  4082. C-shell.
  4083.  
  4084. _1_6._1_7_0.  _p_h_y_s_i_c_a_l-_t_a_b_s_t_o_p (_v_a_r_i_a_b_l_e)
  4085.  
  4086. How many spaces  your  terminal  prints  when  it  prints  a  tab
  4087.  
  4088.  
  4089.  
  4090.                         February 24, 1988
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096. JOVE Manual for UNIX Users                              USD:17-63
  4097.  
  4098.  
  4099. character.
  4100.  
  4101. _1_6._1_7_1.  _p_o_p-_m_a_r_k (_N_o_t _B_o_u_n_d)
  4102.  
  4103. This gets executed when you run _s_e_t-_m_a_r_k with a numeric argument.
  4104. JOVE  remembers the last 8 marks and you use _p_o_p-_m_a_r_k to go back-
  4105. ward through the ring of marks.  If you execute  _p_o_p-_m_a_r_k  enough
  4106. times you will eventually get back to where you started.
  4107.  
  4108. _1_6._1_7_2.  _p_o_p_d (_N_o_t _B_o_u_n_d)
  4109.  
  4110. This pops one entry off the directory stack.  Entries are  pushed
  4111. with  the  _p_u_s_h_d command.  The names were stolen from the C-shell
  4112. and the behavior is the same.
  4113.  
  4114. _1_6._1_7_3.  _p_r_e_v_i_o_u_s-_e_r_r_o_r (_C-_X _C-_P)
  4115.  
  4116. This is the same as _n_e_x_t-_e_r_r_o_r except it  goes  to  the  previous
  4117. error.  See _n_e_x_t-_e_r_r_o_r for documentation.
  4118.  
  4119. _1_6._1_7_4.  _p_r_e_v_i_o_u_s-_l_i_n_e (_C-_P)
  4120.  
  4121. This moves up to the previous line.
  4122.  
  4123. _1_6._1_7_5.  _p_r_e_v_i_o_u_s-_p_a_g_e (_E_S_C _V)
  4124.  
  4125. This displays the previous page of the current buffer  by  taking
  4126. the  top line and redrawing the window with it at the bottom.  If
  4127. a numeric argument is supplied the screen is scrolled  down  that
  4128. many  lines;  if  the argument is negative the screen is scrolled
  4129. up.
  4130.  
  4131. _1_6._1_7_6.  _p_r_e_v_i_o_u_s-_w_i_n_d_o_w (_C-_X _P _a_n_d _C-_X _O)
  4132.  
  4133. This moves into the next window.  Windows live in a circular list
  4134. so  when you're in the top window and you try to move to the pre-
  4135. vious one you are moved to the bottom window.  It is an error  to
  4136. use this command with only one window.
  4137.  
  4138. _1_6._1_7_7.  _p_r_i_n_t (_N_o_t _B_o_u_n_d)
  4139.  
  4140. This prints the value of a JOVE variable.
  4141.  
  4142. _1_6._1_7_8.  _p_r_o_c_e_s_s-_b_i_n_d-_t_o-_k_e_y (_N_o_t _B_o_u_n_d)
  4143.  
  4144. This command is identical to bind-to-key,  except  that  it  only
  4145. affects your bindings when you are in a buffer attached to a pro-
  4146. cess.  When you enter the process buffer,  any  keys  bound  with
  4147. this  command will automatically take their new values.  When you
  4148. switch to a non-process buffer, the old bindings for  those  keys
  4149. will be restored.  For example, you might want to execute
  4150.  
  4151.         process-bind-to-key stop-process ^Z
  4152.         process-bind-to-key interrupt-process ^C
  4153.  
  4154.  
  4155.  
  4156.                         February 24, 1988
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162. USD:17-64                              JOVE Manual for UNIX Users
  4163.  
  4164.  
  4165. Then, when you start up an interactive process  and  switch  into
  4166. that  buffer,  C-Z will execute stop-process and C-C will execute
  4167. interrupt- process.   When  you  switch  back  to  a  non-process
  4168. buffer,  C-Z will go back to executing scroll-up (or whatever you
  4169. have it bound to).
  4170.  
  4171. _1_6._1_7_9.  _p_r_o_c_e_s_s-_n_e_w_l_i_n_e (_R_e_t_u_r_n)
  4172.  
  4173. This this only gets executed when in a buffer that is attached to
  4174. an interactive-process.  JOVE does two different things depending
  4175. on where you are when you hit Return.  When you're at the end  of
  4176. the  I-Process buffer this does what Return normally does, except
  4177. it also makes the line available to the process.  When  point  is
  4178. positioned  at some other position that line is copied to the end
  4179. of the buffer (with the prompt stripped) and point is moved there
  4180. with  it, so you can then edit that line before sending it to the
  4181. process.  This command _m_u_s_t be bound to the key you  usually  use
  4182. to  enter  shell  commands (Return), or else you won't be able to
  4183. enter any.
  4184.  
  4185. _1_6._1_8_0.  _p_r_o_c_e_s_s-_p_r_o_m_p_t (_v_a_r_i_a_b_l_e)
  4186.  
  4187. What a prompt looks  like  from  the  shell  and  i-shell-command
  4188. processes.   The  default  is  "%  ", the default C-shell prompt.
  4189. This is actually a regular expression search string.  So you  can
  4190. set  it  to be more than one thing at once using the \| operator.
  4191. For instance, for LISP hackers, the prompt can be
  4192.  
  4193.         "% -> <[0-9]>: ".
  4194.  
  4195.  
  4196. _1_6._1_8_1.  _p_r_o_c_e_s_s-_s_e_n_d-_d_a_t_a-_n_o-_r_e_t_u_r_n (_N_o_t _B_o_u_n_d)
  4197.  
  4198. This is like _p_r_o_c_e_s_s-_n_e_w_l_i_n_e except it sends  everything  to  the
  4199. process without the newline.  Normally, when you type return in a
  4200. process buffer  it  sends  everything  you  typed  including  the
  4201. Return.   This  command  just  provides a way to send data to the
  4202. process without having to send a newline as well.
  4203.  
  4204. _1_6._1_8_2.  _p_u_s_h-_s_h_e_l_l (_N_o_t _B_o_u_n_d)
  4205.  
  4206. This spawns a child shell and relinquishes control to  it.   This
  4207. works  on  any  version of UNIX, but this isn't as good as _p_a_u_s_e-
  4208. _j_o_v_e because it takes time to start up the new shell and you  get
  4209. a  brand  new environment every time.  To return to JOVE you type
  4210. "C-D".
  4211.  
  4212. _1_6._1_8_3.  _p_u_s_h_d (_N_o_t _B_o_u_n_d)
  4213.  
  4214. This pushes a directory onto the directory stack  and  cd's  into
  4215. it.   It asks for the directory name but if you don't specify one
  4216. it switches the top two  entries  no  the  stack.   It  purposely
  4217. behaves the same as C-shell's _p_u_s_h_d.
  4218.  
  4219.  
  4220.  
  4221.  
  4222.                         February 24, 1988
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228. JOVE Manual for UNIX Users                              USD:17-65
  4229.  
  4230.  
  4231. _1_6._1_8_4.  _p_w_d (_N_o_t _B_o_u_n_d)
  4232.  
  4233. This prints the working directory.
  4234.  
  4235. _1_6._1_8_5.  _q_u_e_r_y-_r_e_p_l_a_c_e-_s_t_r_i_n_g (_E_S_C _Q)
  4236.  
  4237. This replaces the occurrences of a specified string with a speci-
  4238. fied  replacement  string.   When an occurrence is found point is
  4239. moved to it and then JOVE asks what to do.  The options are:
  4240.  
  4241.         Space    to replace this occurrence and go on to the next one.
  4242.         Period   to replace this occurrence and then stop.
  4243.         Rubout   to skip this occurrence and go on to the next one.
  4244.         C-R      to enter a recursive edit.  This lets you temporarily
  4245.                  suspend the replace, do some editing, and then return
  4246.                  to continue where you left off.  To continue with the
  4247.                  Query Replace type "C-X C-C" as if you were trying to
  4248.                  exit JOVE.  Normally you would but when you are in a
  4249.                  recursive edit all it does is exit that recursive
  4250.                  editing level.
  4251.         C-W      to delete the matched string and then enter a recursive
  4252.                  edit.
  4253.         U        to undo the last replacement.
  4254.         P or !   to go ahead and replace the remaining occurrences without
  4255.                  asking.
  4256.         Return   to stop the Query Replace.
  4257.  
  4258. The search for occurrences starts at point and goes to the end of
  4259. the  buffer, so to replace in the entire buffer you must first go
  4260. to the beginning.
  4261.  
  4262. _1_6._1_8_6.  _q_u_i_t-_p_r_o_c_e_s_s (_N_o_t _B_o_u_n_d)
  4263.  
  4264. This is the same as typing "C-\" (the Quit character) to a normal
  4265. UNIX  process, except it sends it to the current process in JOVE.
  4266. This is only for versions  of  JOVE  that  have  the  interactive
  4267. processes  feature.  This only works when you are inside a buffer
  4268. that's attached to a process.
  4269.  
  4270. _1_6._1_8_7.  _q_u_o_t_e_d-_i_n_s_e_r_t (_C-_Q)
  4271.  
  4272. This lets you insert characters that normally would  be  executed
  4273. as  other  JOVE  commands.  For example, to insert "C-F" you type
  4274. "C-Q C-F".
  4275.  
  4276. _1_6._1_8_8.  _r_e_a_d-_w_o_r_d-_a_b_b_r_e_v-_f_i_l_e (_N_o_t _B_o_u_n_d)
  4277.  
  4278. This reads a specified file that contains a bunch of abbreviation
  4279. definitions,  and  makes  those  abbreviations available.  If the
  4280. selected buffer is not already in Word Abbrev mode  this  command
  4281. puts it in that mode.
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.  
  4288.                         February 24, 1988
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294. USD:17-66                              JOVE Manual for UNIX Users
  4295.  
  4296.  
  4297. _1_6._1_8_9.  _r_e_c_u_r_s_i_v_e-_e_d_i_t (_N_o_t _B_o_u_n_d)
  4298.  
  4299. This enters a recursive editing level.  This  isn't  really  very
  4300. useful.  I don't know why it's available for public use.  I think
  4301. I'll delete it some day.
  4302.  
  4303. _1_6._1_9_0.  _r_e_d_r_a_w-_d_i_s_p_l_a_y (_C-_L)
  4304.  
  4305. This centers the line containing point in the  window.   If  that
  4306. line  is  already  in  the middle the window is first cleared and
  4307. then redrawn.  If a numeric argument is  supplied,  the  line  is
  4308. positioned  at that offset from the top of the window.  For exam-
  4309. ple, "ESC 0 C-L" positions the line containing point at  the  top
  4310. of the window.
  4311.  
  4312. _1_6._1_9_1.  _r_e_n_a_m_e-_b_u_f_f_e_r (_N_o_t _B_o_u_n_d)
  4313.  
  4314. This lets you rename the current buffer.
  4315.  
  4316. _1_6._1_9_2.  _r_e_p_l_a_c_e-_i_n-_r_e_g_i_o_n (_N_o_t _B_o_u_n_d)
  4317.  
  4318. This is the same as _r_e_p_l_a_c_e-_s_t_r_i_n_g except that it  is  restricted
  4319. to occurrences between Point and Mark.
  4320.  
  4321. _1_6._1_9_3.  _r_e_p_l_a_c_e-_s_t_r_i_n_g (_E_S_C _R)
  4322.  
  4323. This replaces all occurrences of a specified string with a speci-
  4324. fied  replacement string.  This is just like _q_u_e_r_y-_r_e_p_l_a_c_e-_s_t_r_i_n_g
  4325. except it replaces without asking.
  4326.  
  4327. _1_6._1_9_4.  _r_i_g_h_t-_m_a_r_g_i_n (_v_a_r_i_a_b_l_e)
  4328.  
  4329. Where the right margin is for _A_u_t_o _F_i_l_l  mode  and  the  _j_u_s_t_i_f_y-
  4330. _p_a_r_a_g_r_a_p_h and _j_u_s_t_i_f_y-_r_e_g_i_o_n commands.  The default is 78.
  4331.  
  4332. _1_6._1_9_5.  _r_i_g_h_t-_m_a_r_g_i_n-_h_e_r_e (_N_o_t _B_o_u_n_d)
  4333.  
  4334. This sets the _r_i_g_h_t-_m_a_r_g_i_n variable to the  current  position  of
  4335. point.   This is an easy way to say, "Make the right margin begin
  4336. here," without having to count the number of spaces over it actu-
  4337. ally is.
  4338.  
  4339. _1_6._1_9_6.  _s_a_v_e-_f_i_l_e (_C-_X _C-_S)
  4340.  
  4341. This saves the current buffer to the associated file.  This makes
  4342. your  changes permanent so you should be sure you really want to.
  4343. If the buffer has not been modified _s_a_v_e-_f_i_l_e refuses to  do  the
  4344. save.   If  you really do want to write the file you can use "C-X
  4345. C-W" which executes _w_r_i_t_e-_f_i_l_e.
  4346.  
  4347. _1_6._1_9_7.  _s_c_r_o_l_l-_a_l_l-_l_i_n_e_s (_v_a_r_i_a_b_l_e)
  4348.  
  4349. When this is turned on, the entire window will be  scrolled  left
  4350. or  right  when  the  current line scrolls.  The default value is
  4351.  
  4352.  
  4353.  
  4354.                         February 24, 1988
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360. JOVE Manual for UNIX Users                              USD:17-67
  4361.  
  4362.  
  4363. OFF, which will cause JOVE to behave in the familiar way,  namely
  4364. to scroll only the current line.
  4365.  
  4366. _1_6._1_9_8.  _s_c_r_o_l_l-_d_o_w_n (_E_S_C _Z)
  4367.  
  4368. This scrolls the screen one line down.  If  the  line  containing
  4369. point  moves  past  the bottom of the window point is moved up to
  4370. the center of the window.  If a numeric argument is supplied that
  4371. many  lines  are scrolled; if the argument is negative the screen
  4372. is scrolled up instead.
  4373.  
  4374. _1_6._1_9_9.  _s_c_r_o_l_l-_l_e_f_t (_N_o_t _B_o_u_n_d)
  4375.  
  4376. This scrolls the text in the current window  10  character  posi-
  4377. tions  to  the left.  If a numeric argument is specified then the
  4378. text is scrolled that number  of  character  positions.   If  the
  4379. variable  _s_c_r_o_l_l-_a_l_l-_l_i_n_e_s is ON then _s_c_r_o_l_l-_l_e_f_t may actually do
  4380. nothing if the scrolling would cause Point not to be visible.
  4381.  
  4382. _1_6._2_0_0.  _s_c_r_o_l_l-_n_e_x_t-_p_a_g_e (_N_o_t _B_o_u_n_d)
  4383.  
  4384. This continuously scrolls up screen-full lines (PC version only).
  4385.  
  4386. _1_6._2_0_1.  _s_c_r_o_l_l-_p_r_e_v_i_o_u_s-_p_a_g_e (_N_o_t _B_o_u_n_d)
  4387.  
  4388. This continuesly  scrolls  down  screen-full  lines  (PC  version
  4389. only).
  4390.  
  4391. _1_6._2_0_2.  _s_c_r_o_l_l-_r_i_g_h_t (_N_o_t _B_o_u_n_d)
  4392.  
  4393. This scrolls the text in the current window  10  character  posi-
  4394. tions  to the right.  If a numeric argument is specified then the
  4395. text is scrolled that number  of  character  positions.   If  the
  4396. variable _s_c_r_o_l_l-_a_l_l-_l_i_n_e_s is ON then _s_c_r_o_l_l-_r_i_g_h_t may actually do
  4397. nothing if the scrolling would cause Point not to be visible.
  4398.  
  4399. _1_6._2_0_3.  _s_c_r_o_l_l-_s_t_e_p (_v_a_r_i_a_b_l_e)
  4400.  
  4401. How many lines should be scrolled if the _p_r_e_v_i_o_u_s-_l_i_n_e  or  _n_e_x_t-
  4402. _l_i_n_e  commands move you off the top or bottom of the screen.  You
  4403. may wish to decrease this variable if you are on a slow terminal.
  4404. The default value is 0, which means to center the current line in
  4405. the window.  If the value is negative, the behavior  is  slightly
  4406. different.   If  you  move off the top of the window, and _s_c_r_o_l_l-
  4407. _s_t_e_p is, say, -5 then the new line will be displayed 5 lines from
  4408. the bottom of the window.  If you move off the bottom of the win-
  4409. dow, the new line will be positioned 5 lines from the top of  the
  4410. window.
  4411.  
  4412. _1_6._2_0_4.  _s_c_r_o_l_l-_u_p (_C-_Z)
  4413.  
  4414. This scrolls the screen one line  up.   If  the  line  containing
  4415. point moves past the top of the window point is moved down to the
  4416. center of the window.  If a numeric  argument  is  supplied  that
  4417.  
  4418.  
  4419.  
  4420.                         February 24, 1988
  4421.  
  4422.  
  4423.  
  4424.  
  4425.  
  4426. USD:17-68                              JOVE Manual for UNIX Users
  4427.  
  4428.  
  4429. many  lines  are scrolled; if the argument is negative the screen
  4430. is scrolled down instead.
  4431.  
  4432. _1_6._2_0_5.  _s_e_a_r_c_h-_e_x_i_t-_c_h_a_r (_v_a_r_i_a_b_l_e)
  4433.  
  4434. Set this to the character you want to  use  to  exit  incremental
  4435. search.   The default is Newline, which makes i-search compatible
  4436. with normal string search.
  4437.  
  4438. _1_6._2_0_6.  _s_e_a_r_c_h-_f_o_r_w_a_r_d (_C-_S)
  4439.  
  4440. This searches forward for a specified search string and positions
  4441. point  at  the end of the string if it's found.  If the string is
  4442. not found point remains unchanged.  This searches from  point  to
  4443. the  end  of  the  buffer,  so  any  matches before point will be
  4444. missed.
  4445.  
  4446. _1_6._2_0_7.  _s_e_a_r_c_h-_f_o_r_w_a_r_d-_n_d (_N_o_t _B_o_u_n_d)
  4447.  
  4448. This is just like _s_e_a_r_c_h-_f_o_r_w_a_r_d except that it doesn't assume  a
  4449. default  search  string,  and  it  doesn't set the default search
  4450. string.  This is useful for defining macros,  when  you  want  to
  4451. search for something, but you don't want it to affect the current
  4452. default search string.
  4453.  
  4454. _1_6._2_0_8.  _s_e_a_r_c_h-_r_e_v_e_r_s_e (_C-_R)
  4455.  
  4456. This searches backward for a specified search  string  and  posi-
  4457. tions point at the beginning if the string if it's found.  If the
  4458. string is not found point remains unchanged.  This searches  from
  4459. point  to the beginning of the buffer, so any matches after point
  4460. will be missed.
  4461.  
  4462. _1_6._2_0_9.  _s_e_a_r_c_h-_r_e_v_e_r_s_e-_n_d (_N_o_t _B_o_u_n_d)
  4463.  
  4464. This is just like _s_e_a_r_c_h-_r_e_v_e_r_s_e except that it doesn't assume  a
  4465. default  search  string,  and  it  doesn't set the default search
  4466. string.  This is useful for defining macros,  when  you  want  to
  4467. search for something, but you don't want it to affect the current
  4468. default search string.
  4469.  
  4470. _1_6._2_1_0.  _s_e_l_e_c_t-_b_u_f_f_e_r (_C-_X _B)
  4471.  
  4472. This selects a new or  already  existing  buffer  making  it  the
  4473. current  one.  You can type either the buffer name or number.  If
  4474. you type in the name you need only type  the  name  until  it  is
  4475. unambiguous,  at which point typing Escape or Space will complete
  4476. it for you.  If you want to create a  new  buffer  you  can  type
  4477. Return instead of Space, and a new empty buffer will be created.
  4478.  
  4479. _1_6._2_1_1.  _s_e_l_e_c_t-_b_u_f_f_e_r-_1 (<_A_l_t>-_1)
  4480.  
  4481. This selects buffer number 1, if it exists (PC version only).
  4482.  
  4483.  
  4484.  
  4485.  
  4486.                         February 24, 1988
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492. JOVE Manual for UNIX Users                              USD:17-69
  4493.  
  4494.  
  4495. _1_6._2_1_2.  _s_e_l_e_c_t-_b_u_f_f_e_r-_2 (<_A_l_t>-_2)
  4496.  
  4497. This selects buffer number 2, if it exists (PC version only).
  4498.  
  4499. _1_6._2_1_3.  _s_e_l_e_c_t-_b_u_f_f_e_r-_3 (<_A_l_t>-_3)
  4500.  
  4501. This selects buffer number 3, if it exists (PC version only).
  4502.  
  4503. _1_6._2_1_4.  _s_e_l_e_c_t-_b_u_f_f_e_r-_4 (<_A_l_t>-_4)
  4504.  
  4505. This selects buffer number 4, if it exists (PC version only).
  4506.  
  4507. _1_6._2_1_5.  _s_e_l_e_c_t-_b_u_f_f_e_r-_5 (<_A_l_t>-_5)
  4508.  
  4509. This selects buffer number 5, if it exists (PC version only).
  4510.  
  4511. _1_6._2_1_6.  _s_e_l_e_c_t-_b_u_f_f_e_r-_6 (<_A_l_t>-_6)
  4512.  
  4513. This selects buffer number 6, if it exists (PC version only).
  4514.  
  4515. _1_6._2_1_7.  _s_e_l_e_c_t-_b_u_f_f_e_r-_7 (<_A_l_t>-_7)
  4516.  
  4517. This selects buffer number 7, if it exists (PC version only).
  4518.  
  4519. _1_6._2_1_8.  _s_e_l_e_c_t-_b_u_f_f_e_r-_8 (<_A_l_t>-_8)
  4520.  
  4521. This selects buffer number 8, if it exists (PC version only).
  4522.  
  4523. _1_6._2_1_9.  _s_e_l_e_c_t-_b_u_f_f_e_r-_9 (<_A_l_t>-_9)
  4524.  
  4525. This selects buffer number 9, if it exists (PC version only).
  4526.  
  4527. _1_6._2_2_0.  _s_e_l_f-_i_n_s_e_r_t (_M_o_s_t _P_r_i_n_t_i_n_g _C_h_a_r_a_c_t_e_r_s)
  4528.  
  4529. This inserts the character that invoked it  into  the  buffer  at
  4530. point.   Initially  all  but a few of the printing characters are
  4531. bound to _s_e_l_f-_i_n_s_e_r_t.
  4532.  
  4533. _1_6._2_2_1.  _s_e_n_d-_t_y_p_e_o_u_t-_t_o-_b_u_f_f_e_r (_v_a_r_i_a_b_l_e)
  4534.  
  4535. When this is set JOVE will send output that  normally  overwrites
  4536. the  screen (temporarily) to a buffer instead.  This affects com-
  4537. mands like _l_i_s_t-_b_u_f_f_e_r_s, _l_i_s_t-_p_r_o_c_e_s_s_e_s, and  commands  that  use
  4538. completion.  The default value is "off".
  4539.  
  4540. _1_6._2_2_2.  _s_e_t (_N_o_t _B_o_u_n_d)
  4541.  
  4542. This gives a specified variable a new value.  Occasionally you'll
  4543. see  lines  like  "set  this  variable to that value to do this".
  4544. Well, you use the _s_e_t command to do that.
  4545.  
  4546. _1_6._2_2_3.  _s_e_t-_m_a_r_k (_C-@)
  4547.  
  4548. This sets the mark at the current position  in  the  buffer.   It
  4549.  
  4550.  
  4551.  
  4552.                         February 24, 1988
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558. USD:17-70                              JOVE Manual for UNIX Users
  4559.  
  4560.  
  4561. prints  the  message "Point pushed" on the message line.  It says
  4562. that instead of "Mark set" because when you set the mark the pre-
  4563. vious  mark is still remembered on a ring of 16 marks.  So "Point
  4564. pushed" means point is pushed onto the ring of marks and  becomes
  4565. the  value  of  "the  mark".  To go through the ring of marks you
  4566. type "C-U C-@", or execute the _p_o_p-_m_a_r_k  command.   If  you  type
  4567. this enough times you will get back to where you started.
  4568.  
  4569. _1_6._2_2_4.  _s_h_e_l_l (_v_a_r_i_a_b_l_e)
  4570.  
  4571. The shell to be used with all the  shell  commands  command.   If
  4572. your  SHELL  environment variable is set, it is used as the value
  4573. of _s_h_e_l_l; otherwise "/bin/csh" is the default.
  4574.  
  4575. _1_6._2_2_5.  _s_h_e_l_l (_N_o_t _B_o_u_n_d)
  4576.  
  4577. This starts up an interactive  shell  in  a  window.   JOVE  uses
  4578. "*shell*"  as  the  name  of  the buffer in which the interacting
  4579. takes place.  See the  manual  for  information  on  how  to  use
  4580. interactive processes.
  4581.  
  4582. _1_6._2_2_6.  _s_h_e_l_l-_c_o_m_m_a_n_d (_C-_X !)
  4583.  
  4584. This runs a UNIX command and places the output from that  command
  4585. in  a buffer.  JOVE creates a buffer that matches the name of the
  4586. command you specify and then attaches that buffer  to  a  window.
  4587. So, when you have only one window running this command will cause
  4588. JOVE to split the window and attach the new buffer to  that  win-
  4589. dow.   Otherwise, JOVE finds the most convenient of the available
  4590. windows and uses that one instead.  If the buffer already  exists
  4591. it is first emptied, except that if it's holding a file, not some
  4592. output from a previous command, JOVE prints an error message  and
  4593. refuses  to  execute  the command.  If you really want to execute
  4594. the command you should delete that buffer (saving  it  first,  if
  4595. you like) or use _s_h_e_l_l-_c_o_m_m_a_n_d-_t_o-_b_u_f_f_e_r, and try again.
  4596.  
  4597. _1_6._2_2_7.  _s_h_e_l_l-_c_o_m_m_a_n_d-_n_o-_b_u_f_f_e_r (_N_o_t _B_o_u_n_d)
  4598.  
  4599. This is just like _s_h_e_l_l-_c_o_m_m_a_n_d except it just runs  the  command
  4600. without saving the output to any buffer.  It will report the suc-
  4601. cess of the command in the usual way.
  4602.  
  4603. _1_6._2_2_8.  _s_h_e_l_l-_c_o_m_m_a_n_d-_t_o-_b_u_f_f_e_r (_N_o_t _B_o_u_n_d)
  4604.  
  4605. This is just like _s_h_e_l_l-_c_o_m_m_a_n_d except it lets  you  specify  the
  4606. buffer to use instead of JOVE.
  4607.  
  4608. _1_6._2_2_9.  _s_h_e_l_l-_c_o_m_m_a_n_d-_w_i_t_h-_t_y_p_e_o_u_t (_N_o_t _B_o_u_n_d)
  4609.  
  4610. This is just like _s_h_e_l_l-_c_o_m_m_a_n_d except that instead of saving the
  4611. output  to  a  buffer,  and  displaying it in a window, this just
  4612. types out the output in the  same  way  that  _l_i_s_t-_b_u_f_f_e_r_s  does.
  4613. Actually,  how  this behaves depends on the value of the variable
  4614. _s_e_n_d-_t_y_p_e_o_u_t-_t_o-_b_u_f_f_e_r.  If it  is  on  then  shell-command-with-
  4615.  
  4616.  
  4617.  
  4618.                         February 24, 1988
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624. JOVE Manual for UNIX Users                              USD:17-71
  4625.  
  4626.  
  4627. typeout will behave just like _s_h_e_l_l-_c_o_m_m_a_n_d.
  4628.  
  4629. _1_6._2_3_0.  _s_h_e_l_l-_f_l_a_g_s (_v_a_r_i_a_b_l_e)
  4630.  
  4631. This defines the flags that are passed to  shell  commands.   The
  4632. default  is  "-c".   See the _s_h_e_l_l variable to change the default
  4633. shell.
  4634.  
  4635. _1_6._2_3_1.  _s_h_o_w-_m_a_t_c_h-_m_o_d_e (_N_o_t _B_o_u_n_d)
  4636.  
  4637. This turns on Show Match mode (or off if it's  currently  on)  in
  4638. the  selected buffer.  This changes "}" and ")" so that when they
  4639. are typed the are inserted as usual, and then the cursor  flashes
  4640. back to the matching "{" or "(" (depending on what was typed) for
  4641. about half a second, and then goes back to just after the "}"  or
  4642. ")"  that invoked the command.  This is useful for typing in com-
  4643. plicated expressions in a program.  You can change how  long  the
  4644. cursor  sits  on  the matching paren by setting the "paren-flash-
  4645. delay" variable in tenths of a second.  If the  matching  "{"  or
  4646. "(" isn't visible nothing happens.
  4647.  
  4648. _1_6._2_3_2.  _s_h_r_i_n_k-_w_i_n_d_o_w (_N_o_t _B_o_u_n_d)
  4649.  
  4650. This makes the current window  one  line  shorter,  if  possible.
  4651. Windows  must  be at least 2 lines high, one for the text and the
  4652. other for the mode line.
  4653.  
  4654. _1_6._2_3_3.  _s_o_u_r_c_e (_N_o_t _B_o_u_n_d)
  4655.  
  4656. This reads a bunch of JOVE commands from a file.  The  format  of
  4657. the  file  is  the same as that in your initialization file (your
  4658. ".joverc") in your main directory.  There should be  one  command
  4659. per  line  and  it should be as though you typed "ESC X" while in
  4660. JOVE.  For example, here's part of my initialization file:
  4661.  
  4662.         bind-to-key i-search-reverse ^R
  4663.         bind-to-key i-search-forward ^S
  4664.         bind-to-key pause-jove ^[S
  4665.  
  4666. What they do is make "C-R" call the _i-_s_e_a_r_c_h-_r_e_v_e_r_s_e command  and
  4667. "C-S" call _i-_s_e_a_r_c_h-_f_o_r_w_a_r_d and "ESC S" call _p_a_u_s_e-_j_o_v_e.
  4668.  
  4669. _1_6._2_3_4.  _s_p_e_l_l-_b_u_f_f_e_r (_N_o_t _B_o_u_n_d)
  4670.  
  4671. This runs the current buffer through the UNIX _s_p_e_l_l  program  and
  4672. places the output in buffer "Spell".  Then JOVE lets you edit the
  4673. list of words, expecting you to delete the ones  that  you  don't
  4674. care  about, i.e., the ones you know are spelled correctly.  Then
  4675. the _p_a_r_s_e-_s_p_e_l_l_i_n_g-_e_r_r_o_r_s-_i_n-_b_u_f_f_e_r command comes along and finds
  4676. all the misspelled words and sets things up so the error commands
  4677. work.
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.  
  4684.                         February 24, 1988
  4685.  
  4686.  
  4687.  
  4688.  
  4689.  
  4690. USD:17-72                              JOVE Manual for UNIX Users
  4691.  
  4692.  
  4693. _1_6._2_3_5.  _s_p_l_i_t-_c_u_r_r_e_n_t-_w_i_n_d_o_w (_C-_X _2)
  4694.  
  4695. This splits the current window into two  equal  parts  (providing
  4696. the  resulting  windows  would  be  big  enough) and displays the
  4697. selected buffer in both windows.  Use "C-X 1" to  go  back  to  1
  4698. window  mode.   If  a numeric argument is supplied, the window is
  4699. split "evenly" that many times (when possible).
  4700.  
  4701. _1_6._2_3_6.  _s_t_a_r_t-_r_e_m_e_m_b_e_r_i_n_g (_C-_X ()
  4702.  
  4703. This is just another name for the _b_e_g_i_n-_k_b_d-_m_a_c_r_o  name.   It  is
  4704. included for backward compatibility.
  4705.  
  4706. _1_6._2_3_7.  _s_t_o_p-_r_e_m_e_m_b_e_r_i_n_g (_C-_X ))
  4707.  
  4708. This is just another name for the _e_n_d-_k_b_d-_m_a_c_r_o command.   It  is
  4709. included for backward compatibility.
  4710.  
  4711. _1_6._2_3_8.  _s_t_o_p-_p_r_o_c_e_s_s (_N_o_t _B_o_u_n_d)
  4712.  
  4713. This sends a stop signal (C-Z, for most people)  to  the  current
  4714. process.   It  only  works  if  you  have the interactive process
  4715. feature, and you are in a buffer attached to a process.
  4716.  
  4717. _1_6._2_3_9.  _s_t_r_i_n_g-_l_e_n_g_t_h (_N_o_t _B_o_u_n_d)
  4718.  
  4719. This prints the number of characters in  the  string  that  point
  4720. sits  in.   Strings  are surrounded by double quotes.  JOVE knows
  4721. that "\007" is considered a single character, namely  "C-G",  and
  4722. also  knows  about other common ones, like "\r" (Return) and "\n"
  4723. (LineFeed).  This is mostly useful only for C programmers.
  4724.  
  4725. _1_6._2_4_0.  _s_u_s_p_e_n_d-_j_o_v_e (_E_S_C _S)
  4726.  
  4727. This is a synonym for _p_a_u_s_e-_j_o_v_e.
  4728.  
  4729. _1_6._2_4_1.  _s_y_n_c-_f_r_e_q_u_e_n_c_y (_v_a_r_i_a_b_l_e)
  4730.  
  4731. The temporary files used by JOVE are forced  out  to  disk  every
  4732. _s_y_n_c-_f_r_e_q_u_e_n_c_y  modifications.   The  default is 50, which really
  4733. makes good sense.  Unless your system is very unstable, you prob-
  4734. ably shouldn't fool with this.
  4735.  
  4736. _1_6._2_4_2.  _t_a_g-_f_i_l_e (_v_a_r_i_a_b_l_e)
  4737.  
  4738. This the name of the file in which JOVE should look up tag defin-
  4739. itions.  The default value is "./tags".
  4740.  
  4741. _1_6._2_4_3.  _t_e_x_t-_m_o_d_e (_N_o_t _B_o_u_n_d)
  4742.  
  4743. This sets the major mode to Text.  Currently the other modes  are
  4744. Fundamental, C and Lisp mode.
  4745.  
  4746.  
  4747.  
  4748.  
  4749.  
  4750.                         February 24, 1988
  4751.  
  4752.  
  4753.  
  4754.  
  4755.  
  4756. JOVE Manual for UNIX Users                              USD:17-73
  4757.  
  4758.  
  4759. _1_6._2_4_4.  _t_m_p-_f_i_l_e-_p_a_t_h_n_a_m_e (_v_a_r_i_a_b_l_e)
  4760.  
  4761. This tells JOVE where to put the tmp files, which is  where  JOVE
  4762. stores  buffers  internally.  The default is usually in /tmp, but
  4763. if you want to store them somewhere else, you can set this  vari-
  4764. able.   If  your  system crashes a lot it might be a good idea to
  4765. set this variable to somewhere other than /tmp because the system
  4766. removes  all  the files in /tmp upon reboot, and so you would not
  4767. be able to recover editor buffers using the "jove -r" command.
  4768.  
  4769. NOTE: In order for this to work correctly you must set this vari-
  4770. able  BEFORE JOVE creates the tmp file.  You can set this in your
  4771. .joverc (the closer to tbe beginning the better), or as  soon  as
  4772. you start up JOVE before you visit any files.
  4773.  
  4774. _1_6._2_4_5.  _t_r_a_n_s_p_o_s_e-_c_h_a_r_a_c_t_e_r_s (_C-_T)
  4775.  
  4776. This switches the character  before  point  with  the  one  after
  4777. point,  and  then  moves  forward  one.  This doesn't work at the
  4778. beginning of the line, and at the end of the line it switches the
  4779. two  characters  before  point.  Since point is moved forward, so
  4780. that the character that was before point is still  before  point,
  4781. you  can use "C-T" to drag a character down the length of a line.
  4782. This command pretty quickly becomes very useful.
  4783.  
  4784. _1_6._2_4_6.  _t_r_a_n_s_p_o_s_e-_l_i_n_e_s (_C-_X _C-_T)
  4785.  
  4786. This switches the current line with the one above  it,  and  then
  4787. moves  down  one  so  that the line that was above point is still
  4788. above point.  This, like _t_r_a_n_s_p_o_s_e-_c_h_a_r_a_c_t_e_r_s,  can  be  used  to
  4789. drag a line down a page.
  4790.  
  4791. _1_6._2_4_7.  _u_n_b_i_n_d-_k_e_y (_N_o_t _B_o_u_n_d)
  4792.  
  4793. Use this to unbind _a_n_y key sequence.  You can use this to  unbind
  4794. even  a  prefix command, since this command does not use "key-map
  4795. completion".  For example, "ESC X unbind-key ESC ["  unbinds  the
  4796. sequence "ESC [".  This is useful for "turning off" something set
  4797. in the system-wide ".joverc" file.
  4798.  
  4799. _1_6._2_4_8.  _u_p_d_a_t_e-_t_i_m_e-_f_r_e_q_u_e_n_c_y (_v_a_r_i_a_b_l_e)
  4800.  
  4801. How often the mode line is updated (and thus the  time  and  load
  4802. average, if you display them).  The default is 30 seconds.
  4803.  
  4804. _1_6._2_4_9.  _u_s_e-_i/_d-_c_h_a_r (_v_a_r_i_a_b_l_e)
  4805.  
  4806. If your terminal has insert/delete character capability  you  can
  4807. tell  JOVE not to use it by setting this to "off".  In my opinion
  4808. it is only worth using insert/delete character at low baud rates.
  4809. WARNING:  if you set this to "on" when your terminal doesn't have
  4810. insert/delete character capability, you will get  weird  (perhaps
  4811. fatal) results.
  4812.  
  4813.  
  4814.  
  4815.  
  4816.                         February 24, 1988
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822. USD:17-74                              JOVE Manual for UNIX Users
  4823.  
  4824.  
  4825. _1_6._2_5_0.  _v_e_r_s_i_o_n (_N_o_t _B_o_u_n_d)
  4826.  
  4827. Displays the version number of this JOVE.
  4828.  
  4829. _1_6._2_5_1.  _v_i_s_i_b_l_e-_b_e_l_l (_v_a_r_i_a_b_l_e)
  4830.  
  4831. Use the terminal's visible bell instead of beeping.  This is  set
  4832. automatically if your terminal has the capability.
  4833.  
  4834. _1_6._2_5_2.  _v_i_s_i_b_l_e-_s_p_a_c_e_s-_i_n-_w_i_n_d_o_w (_N_o_t _B_o_u_n_d)
  4835.  
  4836. This displays an underscore character instead of  each  space  in
  4837. the  window  and  displays  a greater-than followed by spaces for
  4838. each tab in the window.  The actual text in  the  buffer  is  not
  4839. changed;  only  the screen display is affected.  To turn this off
  4840. you run the command again; it toggles.
  4841.  
  4842. _1_6._2_5_3.  _v_i_s_i_t-_f_i_l_e (_C-_X _C-_V)
  4843.  
  4844. This reads a specified file into the current buffer replacing the
  4845. old  text.  If the buffer needs saving JOVE will offer to save it
  4846. for you.  Sometimes you use this to start over, say if  you  make
  4847. lots  of  changes  and then change your mind.  If that's the case
  4848. you don't want JOVE to save your buffer and you  answer  "NO"  to
  4849. the question.
  4850.  
  4851. _1_6._2_5_4.  _w_i_n_d_o_w-_f_i_n_d (_C-_X _4)
  4852.  
  4853. This lets you select another buffer in another window three  dif-
  4854. ferent  ways.   This waits for another character which can be one
  4855. of the following:
  4856.  
  4857.         T    Finds a tag in the other window.
  4858.         F    Finds a file in the other window.
  4859.         B    Selects a buffer in the other window.
  4860.  
  4861. This is just a convenient short hand for "C-X 2" (or "C-X  O"  if
  4862. there  are  already  two  windows)  followed  by  the appropriate
  4863. sequence for invoking each command.   With  this,  though,  there
  4864. isn't  the  extra  overhead of having to redisplay.  In addition,
  4865. you don't have to decide whether to type "C-X 2" or "C-X O" since
  4866. "C-X 4" does the right thing.
  4867.  
  4868. _1_6._2_5_5.  _w_o_r_d-_a_b_b_r_e_v-_m_o_d_e (_N_o_t _B_o_u_n_d)
  4869.  
  4870. This turns on Word Abbrev mode (or off if it's currently  on)  in
  4871. the  selected  buffer.   Word Abbrev mode lets you specify a word
  4872. (an abbreviation) and a phrase with which JOVE should  substitute
  4873. the  abbreviation.   You  can  use this to define words to expand
  4874. into long phrases, e.g., "jove" can expand into  "Jonathan's  Own
  4875. Version  of Emacs"; another common use is defining words that you
  4876. often misspell in the same way, e.g., "thier" => "their" or "teh"
  4877. => "the".  See the information on the _a_u_t_o-_c_a_s_e-_a_b_b_r_e_v variable.
  4878.  
  4879.  
  4880.  
  4881.  
  4882.                         February 24, 1988
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888. JOVE Manual for UNIX Users                              USD:17-75
  4889.  
  4890.  
  4891. There are two kinds of abbreviations: mode specific  and  global.
  4892. If  you  define  a  Mode specific abbreviation in C mode, it will
  4893. expand only in buffers that are in C mode.  This is  so  you  can
  4894. have  the  same abbreviation expand to different things depending
  4895. on your context.  Global abbreviations expand regardless  of  the
  4896. major  mode  of the buffer.  The way it works is this: JOVE looks
  4897. first in the mode specific table, and then in the  global  table.
  4898. Whichever  it  finds  it  in  first is the one that's used in the
  4899. expansion.  If it doesn't find the word  it  is  left  untouched.
  4900. JOVE  tries  to  expand  words as they are typed, when you type a
  4901. punctuation character or Space or Return.  If  you  are  in  Auto
  4902. Fill  mode  the expansion will be filled as if you typed it your-
  4903. self.
  4904.  
  4905. _1_6._2_5_6.  _w_r_a_p-_s_e_a_r_c_h (_v_a_r_i_a_b_l_e)
  4906.  
  4907. If set, searches will  "wrap  around"  the  ends  of  the  buffer
  4908. instead of stopping at the bottom or top.  The default is "off".
  4909.  
  4910. _1_6._2_5_7.  _w_r_i_t_e-_f_i_l_e (_C-_X _C-_W)
  4911.  
  4912. This saves the current buffer to a specified file, and then makes
  4913. that  file the default file name for this buffer.  If you specify
  4914. a file that already exists you are asked to confirm  over-writing
  4915. it.
  4916.  
  4917. _1_6._2_5_8.  _w_r_i_t_e-_f_i_l_e_s-_o_n-_m_a_k_e (_v_a_r_i_a_b_l_e)
  4918.  
  4919. When set, all modified files will be written out  before  calling
  4920. make  when  the  _c_o_m_p_i_l_e-_i_t  command is executed.  The default is
  4921. "on".
  4922.  
  4923. _1_6._2_5_9.  _w_r_i_t_e-_m_a_c_r_o_s-_t_o-_f_i_l_e (_N_o_t _B_o_u_n_d)
  4924.  
  4925. This writes the currently defined macros to a specified file in a
  4926. format  appropriate for reading them back in with the _s_o_u_r_c_e com-
  4927. mand.  The purpose of this command is to allow you to define mac-
  4928. ros once and use them in other instances of JOVE.
  4929.  
  4930. _1_6._2_6_0.  _w_r_i_t_e-_m_o_d_i_f_i_e_d-_f_i_l_e_s (_C-_X _C-_M)
  4931.  
  4932. This saves all the buffers that need saving.   If  you  supply  a
  4933. numeric  argument it asks for each buffer whether you really want
  4934. to save it.
  4935.  
  4936. _1_6._2_6_1.  _w_r_i_t_e-_r_e_g_i_o_n (_N_o_t _B_o_u_n_d)
  4937.  
  4938. This writes the text in the region to a specified file.   If  the
  4939. file already exists you are asked to confirm over-writing it.
  4940.  
  4941. _1_6._2_6_2.  _w_r_i_t_e-_w_o_r_d-_a_b_b_r_e_v-_f_i_l_e (_N_o_t _B_o_u_n_d)
  4942.  
  4943. This writes the currently defined abbreviations  to  a  specified
  4944. file.   They  can  be read back in and automatically defined with
  4945.  
  4946.  
  4947.  
  4948.                         February 24, 1988
  4949.  
  4950.  
  4951.  
  4952.  
  4953.  
  4954. USD:17-76                              JOVE Manual for UNIX Users
  4955.  
  4956.  
  4957. _r_e_a_d-_w_o_r_d-_a_b_b_r_e_v-_f_i_l_e.
  4958.  
  4959. _1_6._2_6_3.  _y_a_n_k (_C-_Y)
  4960.  
  4961. This undoes the last kill  command.   That  is,  it  inserts  the
  4962. killed  text  at  point.  When you do multiple kill commands in a
  4963. row, they are merged so that yanking them back with  "C-Y"  yanks
  4964. back all of them.
  4965.  
  4966. _1_6._2_6_4.  _y_a_n_k-_p_o_p (_E_S_C _Y)
  4967.  
  4968. This yanks back previous killed text.  JOVE has a  kill  ring  on
  4969. which  the  last  10  kills are stored.  _y_a_n_k yanks a copy of the
  4970. text at the front of the ring.  If you want one of the  last  ten
  4971. kills you use "ESC Y" which rotates the ring so another different
  4972. entry is now at the front.  You can use "ESC Y" only  immediately
  4973. following  a  "C-Y" or another "ESC Y".  If you supply a negative
  4974. numeric argument the ring is rotated the other way.  If  you  use
  4975. this  command  enough times in a row you will eventually get back
  4976. to where you started.  Experiment with this.  It's extremely use-
  4977. ful.
  4978.  
  4979.  
  4980.  
  4981.  
  4982.  
  4983.  
  4984.  
  4985.  
  4986.  
  4987.  
  4988.  
  4989.  
  4990.  
  4991.  
  4992.  
  4993.  
  4994.  
  4995.  
  4996.  
  4997.  
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012.  
  5013.  
  5014.                         February 24, 1988
  5015.  
  5016.  
  5017.